У меня есть таблица
# File : MyRelations.py
ACC_ADD_TABLE = Table('acc_add_rel', METADATA,
Column('acc_id', ForeignKey('acc.id'),
nullable=False),
Column('add_id', ForeignKey('address.id'),
nullable=False),
PrimaryKeyConstraint('add_id', 'acc_id'),
)
# File : Address.py
class Address(Base):
id = Column(Integer, primary_key=True,)
type = Column(String(length=10), nullable=False)
# File : Account.py
class Account(Base):
id = Column(Integer, primary_key=True,)
addresses = relationship('Address',
secondary=ACC_ADD_TABLE
)
# default_address = relationship('Address',
# secondary=ACC_ADD_TABLE,
# primaryjoin=and_("ACC_ADD_TABLE.add_id==Address.id",
# "ACC_ADD_TABLE.acc_id==Account.id",
# "Address.type='default'")
# )
В соответствии с примером я хочу получить доступ ко всем адресам по умолчанию в учетной записи. Я могу использовать Decla_attr или может написать функцию, но есть ли способ объединить атрибут Table
и Class
в одной операции and_
?
Примечание: Address.py и Account.py оба являются разными файлами, и из-за зависимости от цикла я не могу импортировать любую модель в другую модель
Спасибо за помощь.