我应该在什么模型中添加ManyToManyField?

时间:2013-09-12 20:36:32

标签: django django-models

我阅读了documentation about many-to-many relationshipsexamples。我找不到的是暗示放置 ManyToManyField 的位置。就我而言,我有一个扩展的用户模型客户端和一个模型 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 类中。

2 个答案:

答案 0 :(得分:9)

来自Django documentation

  

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

答案 1 :(得分:0)

技术上没关系。问题是您将从哪个模型侧查询数据库。