Я использую модель разрешений на уровне строк, известную как django-granular-permissions (http://code.google.com/p/django-granular-permissions/). В модели разрешений просто есть еще два поля: тип содержимого и идентификатор объекта.
Я использовал следующий запрос:
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 с этим отношением.
Как это сделать?