尝试使用 django-rest-framework 最干净、最规范地管理 django-guardian 对象级权限。
我想将对象的读取权限(module.view_object)分配给在执行 POST 时发出请求的用户。
我的基于阶级的观点:
class ObjectList(ListCreateAPIView):
queryset = Object.objects.all()
serializer_class = ObjectSerializer
filter_backends = (DjangoObjectPermissionsFilter,)
# MyObjectPermissions inherit from DjangoObjectPermissions and just
# add the 'view_model' permission
permission_classes = (MyObjectPermissions,)
def perform_create(self, serializer):
serializer.save(owner=self.request.user)
如中所述django-rest-framework 文档 http://www.django-rest-framework.org/tutorial/4-authentication-and-permissions/#associating-snippets-with-users,我超载了perform_create
为了将用户传递给序列化器。
但是如何在序列化器中分配权限(使用guardian.shortcuts.assign_perm)。除了重写没有其他办法吗save
手动分配权限的方法?难道没有某种标准机制来管理像这样的常见行为吗?
您可以在中分配权限perform_create()
的方法ViewSet
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)