我正在制作一个啤酒网站,我被困住了。我需要一个可以与许多不同成分相关的配方。有没有办法创建一个模型“成分”,并继承了许多不同的模型:“跳”,“谷物”等我想这样做,所以我有我的食谱和成分之间的关系,我没有创造100种不同的关系来涵盖各种成分。
这可能吗?
答案 0 :(得分:1)
虽然在大多数情况下我会亲自建议反对它,因为表继承在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