1

我正在制作一个啤酒网站,但我被困住了。我需要一个能与许多不同成分相关的食谱。有没有办法创建一个模型“成分”,并继承许多不同的模型:“啤酒花”、“谷物”等。我想这样做,所以我有我的配方和成分之间的关​​系,我没有创建 100 种不同的关系来涵盖每种成分。

这可能吗?

4

1 回答 1

1

尽管在大多数情况下我个人建议不要这样做,因为表继承在 Django 中是一种痛苦(恕我直言)。

你可以这样做:

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
于 2012-09-02T00:25:38.253 回答