class RefTargetMixin:
@declared_attr
- def target_id(cls):
- return Column("target_id", ForeignKey("target.id"))
+ def target_id(cls) -> Mapped[int]:
+ return mapped_column("target_id", ForeignKey("target.id"))
@declared_attr
def target(cls):
class HasCompany:
@declared_attr
def company_id(cls) -> Mapped[int]: # uses Mapped
- return Column(ForeignKey("company.id"))
+ return mapped_column(ForeignKey("company.id"))
@declared_attr
def company(cls) -> Mapped["Company"]:
class HasIdMixin:
@declared_attr.cascading
- def id(cls):
+ def id(cls) -> Mapped[int]:
if has_inherited_table(cls):
- return Column(ForeignKey("myclass.id"), primary_key=True)
+ return mapped_column(ForeignKey("myclass.id"), primary_key=True)
else:
- return Column(Integer, primary_key=True)
+ return mapped_column(Integer, primary_key=True)
class MyClass(HasIdMixin, Base):