summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--django/contrib/auth/models.py15
1 files changed, 9 insertions, 6 deletions
diff --git a/django/contrib/auth/models.py b/django/contrib/auth/models.py
index 44ac167020..1210bf0544 100644
--- a/django/contrib/auth/models.py
+++ b/django/contrib/auth/models.py
@@ -80,12 +80,15 @@ class RowLevelPermissionManager(models.Manager):
owner_id=user.id, permission=perm.id,
model_ct=model_ct
).values('model_id')
- user_group_list = [g['id'] for g in user.groups.select_related().values('id')]
- group_model_ids = RowLevelPermission.objects.filter(owner_ct=ContentType.objects.get_for_model(Group).id,
- owner_id__in=user_group_list,
- model_ct = model_ct
- ).values('model_id')
- id_list = [o['model_id'] for o in user_model_ids] + [o['model_id'] for o in group_model_ids]
+ id_list = [o['model_id'] for o in user_model_ids]
+
+ user_group_list = [g['id'] for g in user.groups.select_related().values('id')]
+ if user_group_list:
+ group_model_ids = RowLevelPermission.objects.filter(owner_ct=ContentType.objects.get_for_model(Group).id,
+ owner_id__in=user_group_list,
+ model_ct = model_ct
+ ).values('model_id')
+ id_list.append([o['model_id'] for o in group_model_ids])
return id_list
class RowLevelPermission(models.Model):