我是Django的新手,我想实现以下目标:我有两个表之间的关系,比如表B有一个对表A的ManyToMany引用。现在我想要一个名为Options的表,它将选项保存到特定组合A& A之间B.我如何实现这一目标?
谢谢!
Hidde
答案 0 :(得分:5)
使用ManyToMany
字段的through
选项,并在关系中添加信息。
例如
class Ingredient(models.Model):
name = models.TextField()
class Recipe(models.Model):
name = models.TextField()
ingredients = models.ManyToManyField(Ingredient, through='RecipePart')
class RecipePart(models.Model)
recipe = models.ForeignKey(Recipe)
ingredient = models.ForeignKey(Ingredient)
amount = models.IntegerField()
# ...
RecipePart(recipe=pizza, ingredient=cheese, amount=9001).save()
如果关系已经存在(并且您已经拥有数据),则必须更新数据库模式(如果您曾经使用自动映射,则创建模型)。 South可以帮助您做到这一点。