django - 访问 Django 中介模型值

标签 django django-models

我有一个简单的问题。使用上面 django 的示例。例如,我如何从组中的人员那里获取 inform_reason ?或该人到所有群组的所有加入日期?谢谢。

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)

最佳答案

您需要查询您的Membership 模型,如下所示:

memberships = Membership.objects.filter(person=person, group=group)
for membership in memberships:
    membership.invite_reason

或者,您可以根据关系进行查询:

memberships = person.membership_set.filter(group=group)
for membership in memberships:
    membership.invite_reason

关于django - 访问 Django 中介模型值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4492431/

相关文章:

python - ListView Django - 分页中的下一个上一个链接丢失

python - Django 模板通过不同的外键进行循环迭代

django - 使用 Django 1.7 创建部分索引

mysql - 将 GROUP BY 添加到 Django 查询

Django prefetch_related 与 m2m 通过关系

python - Django – 在模板标签中使用模板标签?

Django 管理员在使用 gunicorn Web 服务器时缺少静态文件

Django 消息模板标签检查

python - 如何在 django 中为 on_delete=models.PROTECT 创建自定义异常消息

python - Django,按一个字段分组,只取每组的最新/最大值并取回ORM对象