2014-09-27 22 views
0

当试图把一个JSON文件到我的API,我碰到下面的错误 -Django的REST框架PUT细节未发现

{ 
    "detail": "Not found" 
} 

这只能如果我试图把一个新项目不更新和现有的一个。这是我的观点 -

class DeployEventView(APIView): 

    def get_object(self, pk): 
     try: 
      return Trgmst.objects.get(pk=pk) 
     except Trgmst.DoesNotExist: 
      raise Http404 

    def get(self, request, format=None): 
     name = self.request.GET.get('name') 
     pk = Trgmst.objects.filter(trgmst_name=name).values_list('trgmst_id', flat=True) 
     trgmst = self.get_object(pk) 
     serializer = EventSerializer(trgmst) 
     return Response(serializer.data) 

    def put(self, request, format=None): 
     name = self.request.GET.get('name') 
     pk = Trgmst.objects.filter(trgmst_name=name).values_list('trgmst_id', flat=True) 
     trgmst = self.get_object(pk) 
     serializer = EventSerializer(trgmst, data=request.DATA) 
     if serializer.is_valid(): 
      serializer.save() 
      return Response(serializer.data) 
     return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) 

    def delete(self, request, format=None): 
     name = self.request.GET.get('name') 
     pk = Trgmst.objects.filter(trgmst_name=name).values_list('trgmst_id', flat=True) 
     trgmst = self.get_object(pk) 
     trgmst.delete() 
     return Response(status=status.HTTP_204_NO_CONTENT) 

这是我试图把该URL -

http://localhost:9001/deploy/event/

我也试过这个网址 - (项目目前不存在)

http://localhost:9001/deploy/event/?name=evnt_job_test

这里是我的JSON -

{ 
    "trgmst_id": 2249, 
    "trgmst_type": 1, 
    "trgmst_name": "evnt_job_TEST     ", 
    "trgmst_desc": null, 
    "trgmst_public": "Y", 
    "trgmst_active": "Y", 
    "trgmst_trigger": 10, 
    "owner_name": "Operations     ", 
    "trgmst_jobctl": 1, 
    "trgmst_alljobs": "N", 
    "trgmst_lstchgtm": "2014-09-26T13:44:27", 
    "trgmst_parm": "OP=0,EX1=1,EX2=1", 
    "trgmst_maxreruns": 0, 
    "nodmst_name": null, 
    "servicemst_name": null, 
    "trgmst_info": null, 
    "trgmst_monitor": 1, 
    "trgmst_trgtskcnt": 0, 
    "trgmst_lasttrgtskrun": null, 
    "event_action_details": [ 
     { 
      "trgtsk_id": 2982, 
      "trgmst_id": 2249, 
      "tskmst_id": null, 
      "trgtsk_order": 1, 
      "trgtsk_type": 1 
     } 
    ] 
} 
+0

您是否能够追查此错误的原因? – 2015-05-16 02:56:13

回答

0

您可能会将JSON发送给可预览表单而不是JSON数据的可浏览API。 尝试发送数据到以下URL: http://localhost:9001/deploy/event/?format=json