【问题标题】:How to order child records by parent column using flask-sqlalchemy?如何使用flask-sqlalchemy按父列排序子记录?
【发布时间】:2020-02-15 14:15:40
【问题描述】:
class Parent(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    role_id = db.Column(db.Integer, db.ForeignKey('role.id')
    name = db.Column(db.String())
    children = db.relationship('Child', backref='parent')

class Child(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    parent_id = db.Column(db.Integer, db.ForeignKey('parent.id')
    name = db.Column(db.String())

我正在尝试按父角色 ID 对子记录进行排序:

child_recs = Child.query.order_by(?).all()

我尝试在 db.relationship() 中放置 order_by 属性,但它不起作用。

children = db.relationship('Child', backref='parent', order_by='Parent.role_id')

【问题讨论】:

    标签: python-3.x flask sqlalchemy flask-sqlalchemy


    【解决方案1】:

    我在sorted()的帮助下得到了所需的结果:

    child_recs = Child.query.all()
    ordered_child_recs = sorted(child_recs, key=lambda rec: rec.parent.role_id)
    

    【讨论】:

      猜你喜欢
      • 2017-07-24
      • 1970-01-01
      • 1970-01-01
      • 2020-09-24
      • 1970-01-01
      • 2015-01-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多