我的django休息框架视图存在问题。 PUT方法正在调用GET。所以我无法更新任何对象。有些观点正在发挥作用,现在却没有。这是一个观点的例子:
class BiduleEditView(generics.RetrieveUpdateAPIView):
"""A view that allows to edit a bidule """
serializer_class = BiduleEditSerializer
queryset = Bidule.objects.filter(is_active=True)
有人有想法吗? lookup_fields =' pk'
以下是相应的网址:
url(r'^bidule/(?P<pk>[a-z0-9\-]+)/edit/$', views.BiduleEditView.as_view()),
这是序列化器:
class BiduleEditSerializer(serializers.ModelSerializer):
class Meta:
model=Bidule
fields = '__all__'
我也覆盖了put方法。它不起作用。我在put方法的开头写了一个print。终端没有打印件。这意味着它不执行put方法。
答案 0 :(得分:0)
您可以将put
方法明确地放入您的视图集中,如下所示。从现在开始,您可以定义在更新对象时要执行的任何操作
class BiduleEditView(generics.RetrieveUpdateAPIView):
"""
A view that allows to edit a bidule
"""
serializer_class = BiduleEditSerializer
queryset = Bidule.objects.filter(is_active=True)
lookup_field = 'pk'
def put(self, request, *args, **kwargs):
return self.update(request, *args, **kwargs)
# ... some other methods