python - 如何返回相关记录的排序列表?
问题描述
我有以下 SQLAlchemy 类:
class Survey(db.Model):
id = db.Column(db.Integer, primary_key=True)
questions = db.relationship('Question', backref='survey', lazy='dynamic')
class Questions(db.Model):
id = db.Column(db.Integer, primary_key=True)
survey_id = db.Column(db.Integer, db.ForeignKey('survey.id'))
bank_id = db.Column(db.Integer, db.ForeignKey('bank.id'))
class Bank(db.Model):
id = db.Column(db.Integer, primary_key=True)
order = db.Column(db.Integer, nullable=False)
questions = db.relationship('Question', backref='bank', lazy='dynamic')
因此,调查和银行都有问题,问题的顺序取决于问题的母银行。
给定一个调查,我怎样才能得到一个按顺序字段升序排列的问题列表?我可以很容易地得到问题,如果有必要,我可以在那之后对它们进行排序,但我想知道是否有更直接的方法。
解决方案
我不确定给定辅助表的行为,但您可以传递order_by
到relationship()
,例如:
questions = db.relationship('Question', order_by='asc(Question.bank.order)' ... )
推荐阅读
- java - Eclipse 无法打开并给我一个很长的错误。[爪哇]
- text - 从 BERT 的最后一层获取注意力向量
- docker - 在 websphere liberty 映像中部署资源适配器和应用程序
- javascript - 我们如何将现有的不支持的 npm 模块添加到 Vue.js
- python - 在 Scikit-learn 训练中嵌入辅助标签置信度数据
- openedge - 断开数据库后,临时表中的数据是否可用?
- python - 无法在 selenium 和 python 中使用 xpath 选择元素
- makefile - 递归调用makefile的优先级是什么?
- azure-devops - 在 DevOps API 中获取 workItem 的拉取请求信息
- matlab - Matlab中fastica工具箱中的分解矩阵的问题