このシナリオでは、2つ以上のモデルがあります。
class Store(models.Model):
name = models.CharField(max_length = 100)
homepage = models.URLField(verify_exists = False)
....
class Product(models.Model):
display = models.BooleanField(default = True)
created = models.DateTimeField(auto_now_add = True)
changed = models.DateTimeField(auto_now_add = True, auto_now = True)
....
これらはそれぞれ異なるコメントモデル/フォームを必要とします。例えば:
- 製品コメント製品の評価、長所、短所などの追加情報が欲しいのですが。
- ただし、ストアについては、カスタマーサポートの料金、コミュニケーション/応答の料金、送料が妥当な場合のブール値などのフィールドが必要です。
これらのモデルは両方とも、contribコメントモデルをサブクラス化するため、既存のadminタグとcommentsテンプレートタグと互換性があります。
ただし、Djangoの組み込みのコメント設定はかなり厳格であり、get_model()メソッドとget_form()メソッドを使用して1つのモデル/フォームをカスタマイズすることしかできません。
どちらの場合も別の方法を使用して正しく機能していますが、コードの重複が多く、3番目または4番目のタイプのコメントサブクラスを追加する場合は実用的ではありません。
誰かがこれを行うためのより良い方法を知っていますか?StackOverflowを検索してみましたが、このユースケースに似た結果は得られないようです。