Django在get_queryset函数上:“RuntimeError:超过了最大递归深度”

2024-09-30 22:18:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我得到了

RuntimeError: maximum recursion depth exceeded on the below code

class BookingViewSet(viewsets.ModelViewSet):
queryset = Booking.objects.all()
serializer_class = BookingSerializer

def get_queryset(self):
    queryset = self.get_queryset().filter(owner=self.request.user)
    return queryset

我发现问题出在get_queryset函数上,但我找不到它的原因。在


Tags: theselfgetoncodeclassbelowqueryset
1条回答
网友
1楼 · 发布于 2024-09-30 22:18:44

您在get_queryset()内部调用get_queryset(),显然这将是一个无限递归。在

您可能应该只引用self.queryset来代替:

def get_queryset(self):
    queryset = self.queryset.filter(owner=self.request.user)
    return queryset

尽管您最好完全忽略类级别定义,而只在方法中执行:

^{pr2}$

相关问题 更多 >