【发布时间】:2012-09-07 13:36:53
【问题描述】:
如果我有这个:
class Image(models.Model):
user = models.ForeignKey(User)
我如何编写一个允许任何人 GET 的资源,但仅当 request.user 与 image.user 相同时才可以 PUT?
【问题讨论】:
标签: django permissions django-rest-framework
如果我有这个:
class Image(models.Model):
user = models.ForeignKey(User)
我如何编写一个允许任何人 GET 的资源,但仅当 request.user 与 image.user 相同时才可以 PUT?
【问题讨论】:
标签: django permissions django-rest-framework
创建您的模型视图集使用的权限
class CreatorPermissions(BasePermission):
def has_permission(self, request, view):
return request.method in permissions.SAFE_METHOD
def has_object_permission(self, request, view, obj):
return request.user.id == obj.user.id
class ImageViewSet(viewsets.ModelViewSet):
model = Image
serializer_class = ImageSerializer # you have to create this
permission_classes = (CreatorPermissions,)
queryset = Image.objects.all()
【讨论】: