次のような関係を作成するにはどうすればよいですか。
レストランを想像してみてください。それらのデータテーブルの中には、レシピ用と材料用があります。もう 1 つは、夕食、昼食、朝食、デザート、スープなどの食品のカテゴリを含むものです。名前を cat_food としましょう。
料理人は、cat_food を使用してレシピと材料を並べ替えたいと考えています。たとえば、他のすべての列の中で、レシピから cat_food への「ManyToOne」関係があります。したがって、1 つのレシピには 1 つのカテゴリがあり、1 つのカテゴリには複数のレシピがあります。
しかし、料理人もそのように食材を分類したいと考えています。ここでは「ManyToMany」の関係が成り立ちますが、ディナーやスープのレシピと同じように、デザートのレシピでも 1 つの材料を使用できます。
解決策の 1 つは、レシピ用の cat_food テーブルと独自の材料用のテーブルを作成することです。しかし、レシピや食材を保存する cat_food テーブルを作成するにはどうすればよいでしょうか? (与えられた内容によって異なります)
私の考えでは、中間モデルを使用し、両方の「foreignKeys」にフィールド オプション「blank=True」と「null=True」を設定します。しかし、それだけでは満足できません。長期的にデータベースの問題を引き起こす可能性はありますか? このような状況を処理するためのよりエレガントな方法はありますか?