implemented delete method for rest api

This commit is contained in:
okalintu
2016-07-20 20:45:21 +03:00
parent d2387405ad
commit 4906909cd1
+14 -2
View File
@@ -13,8 +13,9 @@ def members(request, *args, **kwargs):
def member(request,*args, **kwargs):
#get and put together since both operate on existing objects and return one object
if request.method in ['GET','PUT']:
# get, put and delete together since all operate on existing objects
if request.method in ['GET','PUT', 'DELETE']:
# get object by id or give 404
idx = kwargs.pop("idx", None)
try:
@@ -24,6 +25,16 @@ def member(request,*args, **kwargs):
resp.status_code = 404
return resp
# delete object if requested
if request.method == 'DELETE':
try:
mem.delete()
return HttpResponse('{"status":"success"}')
except:
resp = HttpResponse('{"error" : "could not delete object"}')
resp.status_code = 500
return resp
# update model if request type was PUT
if request.method == 'PUT':
try:
@@ -31,6 +42,7 @@ def member(request,*args, **kwargs):
mem.update_from_dict(data)
except ValueError:
return HttpResponseBadRequest('{"error" : "Invalid parameters supplied"}')
return HttpResponse(json.dumps(mem.get_dict()))
if request.method == 'POST':