首先,我设置了全局的jwt的认证,然后我想在get_queryset中根据用户是否是管理员返回不同的数据集,如果是管理员,则返回全部列表,否则返回当前用户的列表,如下
def get_queryset(self):
if self.request.user.is_superuser:
return PunchRecord.objects.all()
else:
return PunchRecord.objects.filter(user=self.request.user)
访问docs/时警告:
UserWarning: <class ‘punch.views.PunchRecordViewSet’> is not compatible with schema generation
“{} is not compatible with schema generation”.format(view.class)
def get_serializer_class(self):
if self.request.user.is_superuser:
return AllPunchRecordSerializer
else:
return PunchRecordSerializer
访问docs/报错:‘NoneType’ object has no attribute ‘user’
然后我根据报错,改为如下:
def get_queryset(self):
if self.request is not None:
if self.request.user.