1 対多の関係で接続されたいくつかのモデルを持つ Django アプリケーションを想定します。
class Blog(models.Model):
...
class Post(models.Model):
blog = models.ForeignKey(Blog)
...
class Comment(models.Model):
post = models.ForeignKey(Post)
...
概念的には、それらは階層、つまりツリーのような構造を形成します。Django管理者にそれを反映してもらいたいです。特に:
- 投稿の変更リストでは、すべての投稿に対応するコメントの変更リストへのリンクが必要です。
- 同様に、投稿の編集ページは、右上のボタン領域からコメントの変更リストにリンクする必要があります。
- 関連するコメントのリストを開くと、パンくずリスト (投稿 › 「Hello world」 › コメントのようなもの) と、理想的には URL (
post/123/comment/
) の関係を反映する必要があります。
もちろん、これは階層の他のレベルにも適用されます。
list_display
1 番は、カスタムエントリと?post__id=
コメント変更リストへのクエリを使用することで非常に簡単です。しかし、これは単なるハックにすぎません。通常、Django は私の 3 つのモデルが独立したトップレベルのエンティティであると想定しています。
これを達成する簡単な方法はありますか?AdminModel
一連のテンプレートとメソッドをオーバーライドできると思いますが、一般的な状況のように思われるものに対するより良い解決策があるでしょうか?