为什么 Django Rest Framework 在创建对象时不检查对象权限呢?对我来说这没有任何意义,一个用户应该只能创建他可以看到、更新或删除的对象。目前,我会像下面这样子类化一个视图集:
class CheckCreatePermissionsViewSet(ModelViewSet):
def perform_create(self, serializer):
'''
Called by create before calling serializer.save()
'''
obj = serializer.save()
try:
self.check_object_permissions(obj)
except:
obj.delete()
raise
为什么这不是默认实现?这给我带来了很多麻烦,而且我想不到有任何理由会这样实现。
serializer.validated_data
而不是serializer.data
。 - luc