1

请帮助我更好地理解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')
4

1 回答 1

1
于 2021-04-06T19:07:42.290 回答