【发布时间】:2011-01-01 15:12:48
【问题描述】:
我正在为中间模型创建 Django 文档中所述的人员组和成员资格。
class Person(models.Model):
name = models.CharField(max_length=128)
def __unicode__(self):
return self.name
class Group(models.Model):
name = models.CharField(max_length=128)
members = models.ManyToManyField(Person, through='Membership')
def __unicode__(self):
return self.name
class Membership(models.Model):
person = models.ForeignKey(Person)
group = models.ForeignKey(Group)
date_joined = models.DateField()
invite_reason = models.CharField(max_length=64)
可以通过以下方式从 Group 对象访问 Person:
>>>Group.members.name
Django 是否创建另一个查询来获取 Person?
我可以从 Group 对象访问date_joined 字段吗?
让我感到困惑的是,我希望得到 Person name 字段:
>>>Group.members.person.name
如果 Person 有一个字段“name”并且中间模型也有一个字段“name”会发生什么。
【问题讨论】: