我对 Django 相当陌生,我想实现以下目标:我在两个表之间有一个关系,比如表 B 有一个对表 A 的 ManyToMany 引用。现在我想要一个名为 Options 的表,它将选项保存到 A 和之间的特定组合B. 我如何做到这一点?
谢谢!
隐藏
我对 Django 相当陌生,我想实现以下目标:我在两个表之间有一个关系,比如表 B 有一个对表 A 的 ManyToMany 引用。现在我想要一个名为 Options 的表,它将选项保存到 A 和之间的特定组合B. 我如何做到这一点?
谢谢!
隐藏
使用字段through
选项,并在关系本身中添加信息。ManyToMany
例如
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()
如果关系已经存在(并且您已经有数据),则必须更新数据库模式(如果您习惯于自动映射,则创建模型)。南方可以帮助你做到这一点。