def create(self, validated_data):
basket = validated_data.get('basket')
order_number = self.generate_order_number(basket)
billing_address = None
if 'billing_address' in validated_data:
billing_address = BillingAddress(**validated_data['billing_address'])
shipping_address = None
if 'shipping_address' in validated_data:
shipping_address = ShippingAddress(**validated_data['shipping_address'])
# Place the order
try:
order = self._insupd_order(
basket=basket,
user=validated_data.get('user') or AnonymousUser(),
order_number=order_number,
billing_address=billing_address,
shipping_address=shipping_address,
order_total=validated_data.get('total'),
shipping_method=validated_data.get('shipping_method'),
shipping_charge=validated_data.get('shipping_charge'),
guest_email=validated_data.get('guest_email') or '')
except ValueError as e:
raise exceptions.NotAcceptable(str(e))
# Return the order
return order
serializers.py 文件源码
python
阅读 29
收藏 0
点赞 0
评论 0
评论列表
文章目录