我有两个模型问题和答案的关系,我可以查询一个特定的问题,然后打印它的答案,但我想知道如何按其中一个列对答案进行排序
我阅读了很多 SO 问题,但他们在创建表格时定义了它,但我想根据条件对答案进行排序,votes
或 date
就像在 stackoverflow 上一样,
class Question(db.Model):
sno = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(100))
ans = db.relationship("Answers",backref="owner")
class Answers(db.Model):
ans_no = db.Column(db.Integer, primary_key=True)
answer = db.Column(db.String(3000))
votes = db.Column(db.Integer(),default=0)
date = db.Column(db.String(15))
ques_id = db.Column(db.Integer,db.ForeignKey("question.sno"))
我想要类似的东西
q1 = Question.query.filter_by(sno=1).first()
q1.ans // gives me [<Answers1>,<Answers3>] so on
我如何根据投票数或日期订购 q1.ans
。任何建议将不胜感激
答案 0 :(得分:0)
如果您总是希望如此,只需将 order_by=date
添加到您的关系定义中。
否则,只需执行单独的查询:
sorted_anwers = Answer.query.where(with_parent(q1, Answer.owner)).order_by(Answer.votes.desc())