70 lines
1.8 KiB
Python
70 lines
1.8 KiB
Python
from rest_framework import serializers
|
|
|
|
from geo.models import Address, City, Country, PostalCode, Region
|
|
|
|
|
|
class AddressCountrySerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Country
|
|
fields = ("name",)
|
|
|
|
|
|
class AddressRegionSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Region
|
|
fields = ("name",)
|
|
|
|
|
|
class AddressCitySerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = City
|
|
fields = ("name",)
|
|
|
|
|
|
class AddressPostalCodeSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = PostalCode
|
|
fields = ("code",)
|
|
|
|
|
|
class AddressSerializer(serializers.ModelSerializer):
|
|
country = AddressCountrySerializer()
|
|
city = AddressCitySerializer()
|
|
region = AddressRegionSerializer()
|
|
postal_code = AddressPostalCodeSerializer()
|
|
|
|
class Meta:
|
|
model = Address
|
|
fields = ("uuid", "street", "city", "region", "postal_code", "country")
|
|
|
|
|
|
class CountrySerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Country
|
|
fields = "__all__"
|
|
|
|
|
|
class RegionSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Region
|
|
fields = "__all__"
|
|
|
|
|
|
class CitySerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = City
|
|
exclude = ("location",)
|
|
|
|
|
|
class PostalCodeSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = PostalCode
|
|
exclude = ("location",)
|
|
|
|
|
|
class UnregisteredCustomerAddressSerializer(serializers.Serializer):
|
|
billing_customer_city = serializers.CharField(required=True)
|
|
billing_customer_region = serializers.CharField(required=True)
|
|
billing_customer_country = serializers.CharField(required=True)
|
|
billing_customer_postal_code = serializers.CharField(required=True)
|
|
billing_customer_address_line = serializers.CharField(required=True)
|