每当我尝试使用PUT请求使用主键更新行程时,我得到HTTP 404详细信息“:”未找到。“
api views.py
class updateTempItinerary(generics.UpdateAPIView):
queryset = tempItinerary.objects.all()
serializer_class = tempItinerarySerializer
permission_classes = (permissions.AllowAny,)
api urls.py
url(r'^updatetempitinerary/$(?P<pk>)(?P<itineraryID>)(?P<destinations>)(?P<hotels>)', views.updateTempItinerary.as_view()),
行程models.py
class tempItinerary(models.Model):
itineraryID = models.CharField(max_length=100, unique=True)
user = models.CharField(max_length=100)
country = models.IntegerField()
destinations = models.CharField(max_length=100, default='None')
hotels = models.CharField(max_length=100, default='None')
travelClass = models.CharField(max_length=100)
date = models.DateField()
travelers = models.IntegerField(default=1)
def __unicode__(self):
return '%s %s %s %s %s %s %s %s ' % (self.pk, self.travelers, self.date, self.travelClass, self.hotels, self.destinations, self.country, self.itineraryID, self.user)
上的网址即时测试
127.0.0.1:8000/api/updatetempitinerary/?pk=1&format=json&
答案 0 :(得分:0)
因为Booby建议你的网址是错误的。如果您正在使用PUT请求,我建议您删除除id之外的url参数。所以它看起来像这样:url(r'^updatetempitinerary/(?P<id>[0-9]+)/$', views.updateTempItinerary.as_view()),
就是这样(注意到最后有一个$符号)。
如果这不起作用,请提供序列化程序和完整错误回溯。您可以在127.0.0.1:8000/api/updatetempitinerary/1/
上更新模型。