【发布时间】:2017-09-03 11:02:08
【问题描述】:
我有 2 张桌子:
Products
========================================
ID Name Desc
--------|----------------|--------------
| |
| |
Studies
========================================
ID Title Year
--------|----------------|--------------
| |
| |
这两个表是通过关系连接的:
products_studies_association = Table('products_studies', Base.metadata,
Column('product_id', Integer, ForeignKey('products.id')),
Column('study_id', Integer, ForeignKey('studies.id')))
studies = relationship('Study', secondary=products_studies_association, backref='products')
我希望product.studies 向我提供与该产品相关的研究,以便这些研究按年份排序(最近的在前)。以下都不起作用:
studies = relationship('Study', secondary=products_studies_association, backref='products', order_by=Study.year.desc())
studies = relationship('Study', secondary=products_studies_association, backref=backref('products', order_by=Study.year.desc()))
这样做的正确方法是什么?除了 id 之外,我找不到太多关于按任何东西订购的信息。
【问题讨论】:
-
你把
studies放在哪里了?在class Product下还是在class Studies下?也请尝试tudies = relationship('Study', secondary=lambda: products_studies_association)
标签: python sqlalchemy