Skip to content

Instantly share code, notes, and snippets.

@sonus21
Last active April 9, 2023 14:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sonus21/334dc8b290e67061912724d64f6f0114 to your computer and use it in GitHub Desktop.
Save sonus21/334dc8b290e67061912724d64f6f0114 to your computer and use it in GitHub Desktop.
views.py
@require_GET
def order_detail(request, id):
order = get_object_or_404(Order, id=id)
return JsonResponse(model_to_dict(order), safe=False)
@require_POST
@csrf_exempt
def create_order(request):
form = CreateOrder(json.loads(request.body))
error_message = dict(message="Validation Error", code=400,
fields=dict(merchant_order_id=["order already exist"]))
if not form.is_valid():
error_message['fields'] = form.errors
return JsonResponse(dict(error=error_message), status=400)
values = form.cleaned_data
if Order.objects.filter(merchant_id=values["merchant_id"],
merchant_order_id=values["merchant_order_id"]).count() > 0:
return JsonResponse(dict(error=error_message), status=400)
try:
instance = form.save()
except IntegrityError as e:
traceback.print_exception(e)
return JsonResponse(dict(error=error_message), status=400)
return JsonResponse(model_to_dict(instance), safe=False)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment