Python 是';通过';Django中ManyToManyField中的参数是否包括所有字段?
Django中ManyToManyField中的“through”参数是否包括相关表中的所有字段?例如,组是否包含所有个人和成员文件?以及“通过”关系可以达到多深的层次Python 是';通过';Django中ManyToManyField中的参数是否包括所有字段?,python,django,django-models,Python,Django,Django Models,Django中ManyToManyField中的“through”参数是否包括相关表中的所有字段?例如,组是否包含所有个人和成员文件?以及“通过”关系可以达到多深的层次 from django.db import models class Person(models.Model): name = models.CharField(max_length=128) def __str__(self): # __unicode__ on Python 2
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=128)
def __str__(self): # __unicode__ on Python 2
return self.name
class Group(models.Model):
name = models.CharField(max_length=128)
members = models.ManyToManyField(Person, through='Membership')
def __str__(self): # __unicode__ on Python 2
return self.name
class Membership(models.Model):
person = models.ForeignKey(Person, on_delete=models.CASCADE)
group = models.ForeignKey(Group, on_delete=models.CASCADE)
date_joined = models.DateField()
invite_reason = models.CharField(max_length=64)
是当您使用直通字段时,关联模型的字段都可以从相关表中访问。级别可以尽可能深,但创建单独的表会变得更复杂。这个问题似乎没有意义。在何处包括所有字段?只要创建几个对象并检查它们的属性,就可以很容易地消除您的疑问