1

特定の を含むCommentすべての のすべての を取得する必要があります。つまり、ユーザーがメンバーであるすべてのプロジェクトのすべてのコメント。ProjectUser

ユーザーは多くのプロジェクトに所属でき、各プロジェクトには多くのコメントがあります。

これはどのように正しく行われるべきですか?これまでのところ、ネストされた for ループを作成してテンプレートで解決しましたが、結果を並べ替える必要があるため、これは良くありません。

私は次のようなことを考えています:

projects = user.projects
comments = Comment
for p in projects:
    for c in p.comments:
        comments.append(c)
return comments

...うまくいかないようです。

手がかりはありますか?

4

1 に答える 1

4

これでうまくいくと思います:

query = Comment.objects.filter(project__user=person)

コメント モデルに、ユーザーへの外部キーを持つプロジェクトへの外部キーがある場合。これには、データベース内の SQL 結合ステートメントが含まれます。データベースでこれを行う方がはるかに効率的であるため、これを行うことをお勧めします。データベースはまさにこれを行うように設計されています。

于 2013-03-06T14:42:59.677 に答える