Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class OrderContentSerializer(ModelSerializer):
- class Meta:
- model = OrderContent
- fields = ('price',)
- class OrderSerializer(ModelSerializer):
- order_contents = OrderContentSerializer(many=True)
- class Meta:
- model = Order
- fields = ('total_price', 'order_status', 'order_contents')
- def create(self, validated_data):
- contents_data = validated_data.pop('order_contents')
- order = Order.objects.create(**validated_data)
- for data in contents_data:
- OrderContent.objects.create(order=order, **data)
- return order
- class CreateOrderCustomer(APIView):
- # permission_classes = (IsAuthenticated,)
- def post(self, request):
- print(request.data)
- serializer = serializers.OrderSerializer(data=request.data)
- print(request.data)
- if serializer.is_valid():
- print(request.data)
- print(request.user)
- serializer.save(created_by=request.user)
- return Response(data=serializer.data,status= status.HTTP_201_CREATED)
- return Response(data=serializer.errors,status=status.HTTP_400_BAD_REQUEST)
- >>> from orders.serializers import OrderSerializer
- >>> data={'totalprice': 3.0, 'order_status': 0, 'order_contents': [{'price': 18}, {'price': 12}]}
- >>> serializer=OrderSerializer(data=data)
- >>> serializer.is_valid()
- True
- >>> from users.models import User
- >>> user=User.objects.get(username='1')
- >>> serializer.save(created_by=user)
- <Order: order7>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement