Jon*_*han 12 django many-to-many django-models has-many-through
考虑以下模型:
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)
Run Code Online (Sandbox Code Playgroud)
成员资格是一个定制的多对五通过额外字段的对象.
如果我有一个人物实例,我如何访问其常规代码和django模板文件中所有成员关系的相应date_joined字段?
Man*_*dan 14
person.membership_set.all()将为您Membership提供给定的所有实例的列表person.您可以在常规代码和模板中使用它.
for each in person.membership_set.all():
print each.date_joined
{% for each in person.membership_set.all %}
{{ each.date_joined }}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)