あなたが出版社であり、複数の種類の記事を持っているとします。Djangoモデルの複数のバリアントを設計する方法
標準品、後援記事、レビュー
そして主催の記事は、スポンサーを言うと
をpromotion_end_dateとレビューは、製品のリターンアドレスと同様に、フィールドのみいくつかの他のレビューを持っている、いくつかの後援専用フィールドを持っている
どのようにこれを設計しますか?
私はこの問題を数回見つけましたが、私はいつもすべてのフィールドが利用可能ですが必須ではない1つのモデルでやります。 しかし、それは管理者と間違いの余地を残すので、ちょうど悪いと感じます。商品の返品先住所が記入されていてレビューではない場合はどうなりますか?
ほとんどの場合、フィールドセットの90%が同じものなので、非常に似たオブジェクトを一緒に照会することができます。これらのモデルは、ほぼ常に一緒に照会されます
:最も人気のある
EDITを見つけるようなもののために、その非常に役立ちます。だから、別のテーブルにそれらを入れて、それを回避するのは意味がありません。 これらは同じテーブルにあり、索引付けされている必要があります。 それ以外の場合、すべてのリクエストは1つではなく3つのクエリを実行します。その後、クエリを後でマージしソートする必要があります。
可能性のある重複したのと同じ方法で、あなたの他のモデルを持つことができます(http://stackoverflow.com/questions/37747427/display-objects-from-other-models-at-the-same-page-per-to-the-publies) – e4c5
その投稿は3つの異なるモデルを使用していると仮定しているので重複していません。クエリ。 3つのモデルがキューの3倍を意味するので、データベースクエリを最小限に抑えるために、非常に似たモデルを設計する最良の方法があります。 – straykiwi