Advertisement
Guest User

Untitled

a guest
Jun 20th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. class OrderContentSerializer(ModelSerializer):
  2. class Meta:
  3. model = OrderContent
  4. fields = ('price',)
  5.  
  6.  
  7.  
  8.  
  9. class OrderSerializer(ModelSerializer):
  10. order_contents = OrderContentSerializer(many=True)
  11. class Meta:
  12. model = Order
  13. fields = ('total_price', 'order_status', 'order_contents')
  14. def create(self, validated_data):
  15. contents_data = validated_data.pop('order_contents')
  16. order = Order.objects.create(**validated_data)
  17. for data in contents_data:
  18. OrderContent.objects.create(order=order, **data)
  19. return order
  20.  
  21. class CreateOrderCustomer(APIView):
  22. # permission_classes = (IsAuthenticated,)
  23. def post(self, request):
  24. print(request.data)
  25. serializer = serializers.OrderSerializer(data=request.data)
  26. print(request.data)
  27. if serializer.is_valid():
  28. print(request.data)
  29. print(request.user)
  30. serializer.save(created_by=request.user)
  31. return Response(data=serializer.data,status= status.HTTP_201_CREATED)
  32. return Response(data=serializer.errors,status=status.HTTP_400_BAD_REQUEST)
  33.  
  34. >>> from orders.serializers import OrderSerializer
  35. >>> data={'totalprice': 3.0, 'order_status': 0, 'order_contents': [{'price': 18}, {'price': 12}]}
  36. >>> serializer=OrderSerializer(data=data)
  37. >>> serializer.is_valid()
  38. True
  39. >>> from users.models import User
  40. >>> user=User.objects.get(username='1')
  41. >>> serializer.save(created_by=user)
  42. <Order: order7>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement