使用此URL:
path("products/product/<int:product>/rating/", ProductRating.as_view()),
和此视图来处理URL:
class ProductRating(APIView):
permission_classes = [permissions.IsAuthenticated]
serializer_class = ProductRatingSerializer
def get(self, request):
breakpoint()
在URL中,int:product中的产品只是所讨论的产品的id,无论我在那里输入什么,无论是int:pk还是int:id,我每次都得到相同的错误:
TypeError: get() got an unexpected keyword argument 'product'
我试过使用通用视图RetrieveAPIView和一个APIView,但我得到了同样的错误。为什么我得到了一个错误而不是断点?
4条答案
按热度按时间3yhwsihp1#
现在应该可以了
kupeojn62#
每当你处理一个在路径中有查询参数(id,pk,slug...)的url时,它会作为kwarg传递给view函数。所以你要么定义一个显式的参数来捕获它,要么你可以在函数中定义一个**kwargs参数。
实施:
或
k5ifujac3#
vhipe2zx4#
代码如下亲爱的