Closed katherine-kania closed 2 years ago
maybe try request.data.order['owner'] = request.user.id
?
hmm.. I get a new error:
request.data.order['owner'] = request.user.id
AttributeError: 'dict' object has no attribute 'order'
ok now try it like this and see what it says:
request.data['order'].owner = request.user.id
Christos and I solved it. Django is very picky.
We removed ['order']
from both request that datas.
def post(self, request):
"""Create request"""
# Add user to request data object
request.data['owner'] = request.user.id
# Serialize/create order
order = OrderSerializer(data=request.data)
# If the order data is valid according to our serializer...
if order.is_valid():
# Save the created order & send a response
order.save()
return JsonResponse({ 'order': order.data }, status=status.HTTP_201_CREATED)
# If the data is not valid, return a response with the errors
return JsonResponse(order.errors, status=status.HTTP_400_BAD_REQUEST)
PLUS ... We learned that Django is picky between the two ways data is returned wether it being a Response and JsonResponse:
return JsonResponse({'flowers': data})
return Response(data)
What stack are you using?
(ex: MERN(mongoose + react), DR(django + react), PEN, etc.)
DR
What's the problem you're trying to solve?
When I try to create an order in postman, I get an error of:
Post any code you think might be relevant (one fenced block per file)
If you see an error message, post it here. If you don't, what unexpected behavior are you seeing?
What is your best guess as to the source of the problem?
It maybe has something to do with my user not populating with the post? or this line?
What things have you already tried to solve the problem?
I tried finding similar issues through google but no win.
Paste a link to your repository here https://github.com/katherine-kania/project-4-api