class OwnerList(generics.ListAPIView):
serializer_class = OwnerDetailSerializer
# queryset = Person.objects.filter(customuser__userrole__role__name='OWNER').distinct()
permission_classes = [IsAuthenticated]
filter_backends = [DjangoFilterBackend]
def get_queryset(self):
return super(OwnerList, self).get_queryset()
我有一个简单的观点,我正试图克服这个问题。 问题是,当使用此视图时,我得到:
return super(OwnerList, self).get_queryset()
File "C:\Users\kdalipaj\PycharmProjects\LTC SYSTEM\venv\lib\site-packages\rest_framework\generics.py", line 63, in get_queryset assert self.queryset is not None, (
AssertionError: 'OwnerList' should either include a
queryset
attribute, or override theget_queryset()
method.
为什么会这样
您的代码是:
它的意思是:“调用ListAPIView的方法get_queryset
ListAPIView本身没有get_queryset方法,但是GenericAPIView(它是ListAPIView的父级)有一个方法
让GenericAPIView的queryset做一件简单的事情:它抛出断言
所以,你不应该打电话
只需创建自己的queryset并从函数返回即可。例如:
另一种解决方案是在类级别设置
queryset
变量:相关问题 更多 >
编程相关推荐