【发布时间】:2009-06-22 09:12:19
【问题描述】:
我正在使用称为 django-granular-permissions (http://code.google.com/p/django-granular-permissions/) 的行级权限模型。权限模型只是多了两个字段,即内容类型和对象 ID。
我使用了以下查询:
User.objects.filter(Q(row_permission_set__name='staff') | \
Q(row_permission_set__name='student'), \
row_permission_set__object_id=labsite.id)
我想将is_staff 和is_student 布尔字段添加到结果集中,而不是每次获取结果时都进行查询。
Django 文档显示了查询集的 extra() 方法,但我不知道应该为具有这种关系的普通 SQL 选择查询写什么。
如何做到这一点?
【问题讨论】:
-
在每个查询中包含此限定条件有什么问题?您有性能问题吗?
-
不,上面的查询是完全可以的。但我想要的是在结果集对象中添加
is_staff和is_boolean额外字段。
标签: python django django-models