如何通过相关模型生成query_set?
例如,我该怎么做:
UserProfile.objects.filter(user.is_active=True) # Can't use user.is_active to filter
琐碎的问题,琐碎的答案。但为了后人的缘故,我会把它留在这里。
答案 0 :(得分:8)
UserProfile.objects.filter(user__is_active=True)
这在Django文档中很好documented。
答案 1 :(得分:3)
Django提供了一种强大而直观的方式来“跟踪”查找中的关系,在后台自动处理SQL JOIN。要跨越关系,只需使用跨模型的相关字段的字段名称,用双下划线分隔,直到到达所需的字段。
在您的示例中,这将是:
UserProfile.objects.filter(user__is_active=True)
答案 2 :(得分:2)
遵循关系的最简单方法是使用简单的“__”。
UserProfile.objects.filter(user__is_active = TRUE)
这些也可以一起更改(即user_ parent _email='abc@def.com')