8000 better doc for object permissions, drop redundant has_permission call · lalkaka/django-rest-framework@23fc9dd · GitHub
[go: up one dir, main page]

Skip to content

Commit 23fc9dd

Browse files
committed
better doc for object permissions, drop redundant has_permission call
1 parent 0183c69 commit 23fc9dd

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

rest_framework/permissions.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,14 @@ class DjangoModelPermissionsOrAnonReadOnly(DjangoModelPermissions):
154154

155155
class DjangoObjectLevelModelPermissions(DjangoModelPermissions):
156156
"""
157-
Basic object level permissions utilizing django-guardian.
157+
The request is authenticated using `django.contrib.auth` permissions.
158+
See: https://docs.djangoproject.com/en/dev/topics/auth/#permissions
159+
160+
It ensures that the user is authenticated, and has the appropriate
161+
`add`/`change`/`delete` permissions on the object using .has_perms.
162+
163+
This permission can only be applied against view classes that
164+
provide a `.model` or `.queryset` attribute.
158165
"""
159166

160167
actions_map = {
@@ -173,12 +180,6 @@ def get_required_object_permissions(self, method, model_cls):
173180
}
174181
return [perm % kwargs for perm in self.actions_map[method]]
175182

176-
def has_permission(self, request, view):
177-
if getattr(view, 'action', None) == 'list':
178-
queryset = view.get_queryset()
179-
view.queryset = ObjectPermissionReaderFilter().filter_queryset(request, queryset, view)
180-
return < 4E9E span class=pl-en>super(DjangoObjectLevelModelPermissions, self).has_permission(request, view)
181-
182183
def has_object_permission(self, request, view, obj):
183184
model_cls = getattr(view, 'model', None)
184185
queryset = getattr(view, 'queryset', None)

0 commit comments

Comments
 (0)
0