2017-03-26 27 views
0

Pythonの要求を使用してIDでDjangoのAPIからレコードを削除します。 ==これは私のREST_FRAMEWORK APIコードrequest.methodでリクエストは、私は私が作るしようとしている上で立ち往生しています</p> <p>使用して要求によって</p> <p>は現在、私はGETとPOSTすることができる午前私の最初のDjangoのAPIの機能をテストしてい

@api_view(['GET', 'POST', 'Delete']) 

def ShopList(request): 
    if request.method == 'GET': 
     snippets = Shop.objects.all() 
     serializer = ShopSerializer(snippets, many=True) 
     return Response(serializer.data) 

    elif request.method == 'POST': 
     serializer = ShopSerializer(data=request.data) 
     if serializer.is_valid(): 
      serializer.save() 
      return Response(serializer.data, status=status.HTTP_201_CREATED) 
     return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) 

    elif request.method == 'DELETE': 
     shop = Shop.objects.get(id=id) 
     shop.delete() 
     return Response(status=status.HTTP_204_NO_CONTENT) 

あるID

によって要求を削除し、私は

012を試してみました '削除'すべて

を削除

elif request.method == 'DELETE': 
    shop = Shop.objects.all() 
    shop.delete() 
    return Response(status=status.HTTP_204_NO_CONTENT) 

は、どのように私は与えられたIDまたは他の属性によってレコードを削除することができますDELETE要求を行うことができますか?

私の直感は

idでオブジェクトを取得しますが、私の実装は、おそらく間違っている
shop = Shop.objects.get(id = id) 

に位置しています。

は、ここに私の要求コード

import requests 
import json 
url = 'http://127.0.0.1:8000/shop/' 
payload = {'Establishment' : 'MacDonalds', 'Address' : '114/5 Albert St.', 'Suburb' : 'Wellington', 'Postcode' : '8218', 'State' : 'No Data', 'Establishment_Type' : 'Home'} 
requests.delete(url, data=json.dumps(payload)) 

リクエスト方法は、上記辞書で与えられたすべての類似したレコードを検索し、それを削除することを目指しています。しかし、objects.allは()

マイDELETE要求は、このSQL関数

DELETE FROM SHOP 
WHERE id = 12; 

に類似しているすべてのものを削除するように思わ

答えて

0

は、ペイロードと変更に同上を追加あなたの助けのためにありがとうございましたショップ= Shop.objects.get(id = request.data.id)

関連する問題

 関連する問題