请帮助我更好地理解ManytoManyFieldDjango 的工作原理。也许我看到的例子对于初学者来说是简单的,但似乎在所有例子中,所涉及的类ManytoManyFields都在同一个models.py文件中。在我的练习中(按照教程,我将两个类放在两个不同的models.py文件(不同的应用程序)中,并且正在努力使它们连接起来。所以我的问题 #1:Django 的多对多关系中的类是否必须是在同一个models.py文件中?#2 对于真正的多对多关系,我是否需要创建一个“通过”表/关系?
以下是教程中的相关代码片段:
#app='household'
class Member(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
# household = models.ForeignKey(User, on_delete=models.CASCADE)
name = models.CharField(max_length=100)
photo = models.ImageField(
upload_to='uploads/members/', default='/icons/member.svg')
def __str__(self):
return '%s Household | %s' % (self.user, self.name)
#app=meals
class Meal(models.Model):
name = models.CharField(max_length=255)
date = models.DateField()
members = models.ManyToManyField('Member')