【发布时间】:2013-09-12 20:36:32
【问题描述】:
我阅读了documentation about many-to-many relationships 和examples。我找不到关于放置 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 类中。
【问题讨论】:
-
没关系。两种方式都可以查询。我会把它放在
Client作为个人喜好(我觉得这样更具可读性)。但没有对错之分。 -
如果您能再次说明这一点作为答案,那就太好了! :)
标签: django django-models