私はビールのウェブサイトを作っています、そして私は立ち往生しています。私は多くの異なる成分に関連することができるレシピを持っている必要があります。「材料」というモデルを作成し、「ホップ」、「穀物」など、さまざまなモデルを継承する方法はありますか。レシピと材料の関係があるので、これを実行したいと思います。材料の種類ごとにカバーする100の異なる関係を作成します。
これは可能ですか?
私はビールのウェブサイトを作っています、そして私は立ち往生しています。私は多くの異なる成分に関連することができるレシピを持っている必要があります。「材料」というモデルを作成し、「ホップ」、「穀物」など、さまざまなモデルを継承する方法はありますか。レシピと材料の関係があるので、これを実行したいと思います。材料の種類ごとにカバーする100の異なる関係を作成します。
これは可能ですか?
Django ではテーブルの継承が苦痛 (imho) であるため、ほとんどの場合、個人的にはこれに反対することをお勧めします。
次のように実行できます。
class Recipe(models.Model):
name = models.CharField()
class Ingredient(models.Model):
name = models.CharField()
recipes = models.ManyToManyField(Recipe, related_name='%(app_label)s_%(class)s')
class Hop(Ingredient):
pass
class Grain(Ingredient):
pass