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

2024-05-23 13:49:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python还是很陌生,我正在努力学习。我试图寻找一个类似的问题,但我找不到我的问题的答案。基本上,我有一个psql数据表,其中有3列,如下图所示,其中一列是一个文本列,用于保存人们留下的评论,其中一列是每个评论的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}

enter image description here


Tags: text文本selfidtruedbdef评论
1条回答
网友
1楼 · 发布于 2024-05-23 13:49:02

您必须使用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}

相关问题 更多 >