【发布时间】:2016-12-09 01:07:45
【问题描述】:
在尝试解决问题时,我试图强制我的自定义权限类返回 False,但事实并非如此。我仍然能够通过下面的 DateListViewSet 类执行成功的 GET 和 POST 请求。我不明白为什么下面的自定义权限类 (IsUser) 不起作用下面是我的自定义权限类、视图类和序列化程序。请帮忙
自定义权限类
class IsUser(permissions.BasePermission):
def has_permissions(self, request, view):
return False
混合和视图类
class DateListMixin(object):
serializer_class = SimpleDateSerializer
permission_classes = (permissions.IsAuthenticated, IsUser)
class DateListViewSet(DateListMixin, generics.BulkModelViewSet):
def get_queryset(self):
num = self.kwargs['rm']
num2 = self.kwargs['id']
r1 = Room.objects.get(pk=num)
s1 = Schedule.objects.get(pk=num2)
u = self.request.user.pk
usr = User.objects.get(pk=u)
if(s1.user.username == usr.username):
queryset = r1.transactiondatetime_set.all()
return queryset
else: raise Http404("User does not exist")
序列化器类
class SimpleDateSerializer(BulkSerializerMixin, ModelSerializer, serializers.Serializer):
start_dt = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S")
class Meta(object):
model = TransactionDateTime
list_serializer_class = BulkListSerializer
fields = ('pk', 'start_dt', 'room')
【问题讨论】:
标签: django django-rest-framework