2
我有表使用M2M表和關係來獲得具體數據SQLAlchemy的
# 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'")
# )
按照我想要訪問帳戶的所有默認地址的例子。我可以使用declared_attr或可以編寫的功能,但有沒有什麼辦法可以結合Table
和Class
屬性在單個and_
的操作?
注:Address.py和Account.py都是不同的文件,並且由於循環依賴我不能導入任何模型等模型
THX對您有所幫助。
Thx @van這是爲我工作:)。我期待着你是我第一個得到答案的人)。 – Nilesh
@Lafada:太棒了!是的,使用SO來關注SA主題。 – van