123456789101112131415161718192021222324252627 |
- # coding=utf-8
- from rest_framework import serializers
- from apps.customer.models import CustomerAddress
- from utils.exceptions import CustomError
- class AddressSerializer(serializers.ModelSerializer):
- class Meta:
- model = CustomerAddress
- fields = '__all__'
- def create(self, validated_data):
- validated_data['customer'] = self.context['request'].customer
- if validated_data['default']:
- CustomerAddress.objects.filter(customer=validated_data['customer']).update(default=False)
- instance = super(AddressSerializer, self).create(validated_data)
- return instance
- def update(self, instance, validated_data):
- if instance.delete:
- raise CustomError(u'该收货地址已被删除,禁止重复操作!')
- if validated_data['default']:
- CustomerAddress.objects.filter(customer=instance.customer).update(default=False)
- instance = super(AddressSerializer, self).update(instance, validated_data)
- return instance
|