我仍然是Python的新手,我正在努力学习。我试着寻找一个类似的问题,但我无法找到我的问题的答案。基本上,我有一个有3列的psql数据表,如下图所示,其中一列是文本列,用于保存人们留下的评论,其中一列是每个评论的id,最后一列是他们链接到哪个帐户的id。我的问题是,在知道有多个msr.id等于72的文本的情况下,我如何打印msr_id等于72的所有文本(我如何打印一个msr_id等于72的用户的所有评论)?下面是我的Python代码:
class Commentaire(db.Model):
__tablename__ = "commentaire"
msr_id = db.Column(db.Integer)
text = db.Column(db.Text())
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
def __init__(self, text, msr_id):
self.text = text
self.msr_id = msr_id
@app.route("/msr/<int:item_id>/history")
@require_privilege()
@templated("MSR/history.htm")
def msr_history(item_id=None):
msr = MSR.query.get(item_id)
commentaire = Commentaire.query.get(item_id) <--- this is the table in my database
print(msr.pos)
while (commentaire.id < 74):
if (commentaire.msr_id == 72):
print(commentaire.text)
commentaire.id += 1
if msr is None:
return abort(404)
return {"msr": msr, "first_pos": str(), "commentaire": commentaire}

发布于 2021-08-13 15:06:48
您必须使用if而不是while,因为您只想打印id为72的评论。
def msr_history(item_id=None):
msr = MSR.query.get(item_id)
commentaire = Commentaire.query.get(item_id) database
print(msr.pos)
# Not sure if it works. I am assuming commentaire returns a queryset.
for item in commentaire:
if (item.msr_id == 72)
print(commentaire.text)
if msr is None:
return abort(404)
return {"msr": msr, "first_pos": str(), "commentaire": commentaire}https://stackoverflow.com/questions/68774516
复制相似问题