如何访问定制的许多一对多通过模板
问题描述:
对象考虑以下车型领域:如何访问定制的许多一对多通过模板
class Person(models.Model):
name = models.CharField(max_length=128)
class Group(models.Model):
name = models.CharField(max_length=128)
members = models.ManyToManyField(Person, through='Membership')
class Membership(models.Model):
person = models.ForeignKey(Person)
group = models.ForeignKey(Group)
date_joined = models.DateField()
invite_reason = models.CharField(max_length=64)
成员是一个定制的多到可以通过使用额外字段对象。
如果我有一个person实例,我如何访问所有成员关系的相应date_joined字段 - 无论是在常规代码中还是在django模板文件中?
答
person.membership_set.all()
将给出给定person
的所有Membership
实例的列表。您可以在常规代码以及模板中使用它。
for each in person.membership_set.all():
print each.date_joined
{% for each in person.membership_set.all %}
{{ each.date_joined }}
{% endfor %}
你可以显示视图吗?把字典作为只有人的渲染函数的参数?为什么当类成员资格较高时,membership_set函数以小写形式写入? – Timo 2014-05-02 18:58:56