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;
に類似しているすべてのものを削除するように思わ