1

我对 Django 相当陌生,我想实现以下目标:我在两个表之间有一个关系,比如表 B 有一个对表 A 的 ManyToMany 引用。现在我想要一个名为 Options 的表,它将选项保存到 A 和之间的特定组合B. 我如何做到这一点?

谢谢!

隐藏

4

1 回答 1

5

使用字段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()

如果关系已经存在(并且您已经有数据),则必须更新数据库模式(如果您习惯于自动映射,则创建模型)。南方可以帮助你做到这一点。

于 2013-01-15T11:36:37.603 回答