我阅读了documentation about many-to-many relationships和examples。我找不到的是暗示放置 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 类中。
答案 0 :(得分:9)
来自Django documentation:
通常,ManyToManyField实例应该放在要在表单上编辑的对象中。
答案 1 :(得分:0)
技术上没关系。问题是您将从哪个模型侧查询数据库。