所有组都列出了显示用户成员资格的其他布尔字段

时间:2016-04-25 10:05:11

标签: django django-models django-views

我想获取所有可用组的列表,其中包含一个额外的布尔字段,显示特定用户是否是该组的成员。

#This give me all groups related to the user "myuser"
mygroup = myuser.groups.all()

结果是与用户" myuser"相关的id,groupname列表。

我如何拥有所有群组的列表(包括那些不属于我的群组的群组),其中包含" myuser"在附加的布尔字段(user_membership)?

id,groupname,user_membership(true / false)

1 个答案:

答案 0 :(得分:0)

您可以使用a conditional expression

Group.objects.annotate(user_membership=Case(
    When(user=myuser, then=Value(True)),
    default=Value(False),
    output_field=BooleanField(),
))

这会返回包含user_membershipTrue值的其他False字段的所有群组。