首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有相同id的项目的Python for循环

具有相同id的项目的Python for循环
EN

Stack Overflow用户
提问于 2021-08-13 14:59:25
回答 1查看 68关注 0票数 0

我仍然是Python的新手,我正在努力学习。我试着寻找一个类似的问题,但我无法找到我的问题的答案。基本上,我有一个有3列的psql数据表,如下图所示,其中一列是文本列,用于保存人们留下的评论,其中一列是每个评论的id,最后一列是他们链接到哪个帐户的id。我的问题是,在知道有多个msr.id等于72的文本的情况下,我如何打印msr_id等于72的所有文本(我如何打印一个msr_id等于72的用户的所有评论)?下面是我的Python代码:

代码语言:javascript
复制
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}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-13 15:06:48

您必须使用if而不是while,因为您只想打印id为72的评论。

代码语言:javascript
复制
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}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68774516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档