我试图在Django中传递一个ID到一个URL来过滤我的结果。为了简单起见,我想列出所有与Bar对象相关的Foo。因为Foo和Bar有外键关系,所以可以过滤。
urlpatterns = [
path('bar/<int:bar_pk>/foo/', FooListView.as_view()),
]
在我的View中,我将ID作为参数放置到get_queryset()
方法中。然而,它没有被传递下来。这个方法不能接受URL参数吗?
class FooListView(ListAPIView):
serializer_class = FooSerializer
permission_classes = (permissions.IsAuthenticated,)
pagination_class = StandardResultsSetPagination
def post(self, request, bar_pk):
pass
def get_queryset(self, bar_pk):
bar = Bar.objects.get(pk=bar_pk)
foos = Foo.objects.filter(
bar=bar).order_by('-id')
return foos
我收到这个错误。
get_queryset() missing 1 required positional argument: 'bar_pk'
如何传递URL参数以获得过滤后的结果?
1条答案
按热度按时间i7uaboj41#
它在
self.kwargs
中,因此: