13

我阅读了有关多对多关系示例的文档。我找不到关于在哪里放置ManyToManyField的提示。在我的例子中,我有一个扩展的用户模型Client和一个模型Pizza。每个客户都可以将一个或多个比萨标记为最爱。这是我的两个模型:

from django.db import models
from django.contrib.auth.models import User

class Client(models.Model):
    user = models.OneToOneField(User)
    #? favourite_pizza = models.ManyToManyField()

class Pizza(models.Model):
    name = models.CharField(max_length=255)
    #? favourite_pizza = models.ManyToManyField()

我应该在什么模型中添加 ManyToManyField?有关系吗?

PS 重要的信息是客户有多少最喜欢的比萨饼(以及哪些)。有多少客户将披萨标记为最爱(以及谁)并不重要。因此,我会选择将ManyToManyField放在Client类中。

4

2 回答 2

15

从 Django文档

通常,ManyToManyField 实例应该放在要在表单上编辑的对象中。

于 2015-03-22T15:32:11.740 回答
1

从技术上讲,这并不重要。问题是您将从哪个模型端查询数据库。

于 2013-09-28T10:10:02.713 回答