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
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)
最佳答案
是的,当您使用直通字段时,关联模型的字段都可以从相关表访问。级别可以尽可能深,但创建单独的表会变得更加复杂。
关于python - Django ManyToManyField 中的 'through' 参数是否包含所有字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44565808/