Как получить доступ к полям настраиваемого объекта «многие ко многим через» в шаблонах - PullRequest
10 голосов
/ 21 августа 2010

Рассмотрим следующие модели:

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)

Членство - это настраиваемый многопользовательский объект с дополнительными полями.
Если у меня есть экземпляр лица, как я могу получить доступ к соответствующим полям date_joined всех его отношений членства - как в обычном коде, так и в файле шаблона django?

1 Ответ

12 голосов
/ 21 августа 2010

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 %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...