0

Django でフォーラム スタイルの Web サイトを構築していますが、設計構造にいくつかの問題が発生しています。関連するコード (私のモデルから) は次のようになります。

class Thread(models.Model):
    post_count = models.IntegerField()

class Post(models.Model):
    text = models.CharField(max_length=1000)
    thread = models.ForeignKey(Thread)

私が抱えている問題は、ビューとテンプレートで、スレッドを反復処理して投稿を表示することです。ただし、投稿に特定の「特別なプロパティ」 (スレッドの作成者、最新の投稿、最高得点の投稿など) がある可能性があることをテンプレートに伝えたいと考えています。これらは投稿自体ではなくスレッドのプロパティであることが合理的であるように思われます(各スレッドにはこれらがありますが、変数/ごくわずかな数の投稿のみが含まれるため)が、私がなんとか作成したこの問題の解決策(Post 定義の別の ForeignKey(Thread) を介して) 投稿をスレッドに二重にリンクするか、これらのリストのステータスを示すために Post 定義に BooleanFields を配置する必要があります。これらが機能するか、Django テンプレートで表示されるかどうかさえわかりません。

私の質問: Django で、外部キーの姉妹要素であることによって既にリンクされているモデルのインスタンスを特殊化またはグループ化する、つまり、ForeignKey を個別の (おそらく重複する) グループにサブセット化するクリーンな方法はありますか? または、非pythonic/nondjangoの方法でこの問題に取り組んでいますか? 私が見落とした可能性のある洞察やドキュメントへのリンクをいただければ幸いです。

4

1 に答える 1