69 lines
1.4 KiB
Python
69 lines
1.4 KiB
Python
from rest_framework import serializers
|
|
|
|
from . import models
|
|
|
|
|
|
class CountryReadSerializer(serializers.ModelSerializer):
|
|
|
|
class Meta:
|
|
model = models.Country
|
|
fields = '__all__'
|
|
|
|
|
|
class CountryWriteSerializer(CustomWriteSerializer):
|
|
|
|
class Meta:
|
|
model = models.Country
|
|
fields = '__all__'
|
|
|
|
|
|
class RegionWriteSerializer(CustomWriteSerializer):
|
|
country = serializers.IntegerField()
|
|
|
|
def validate_country(self, value):
|
|
return models.Country.objects.using(self.context['db']).filter(id=value).first()
|
|
|
|
class Meta:
|
|
model = models.Region
|
|
fields = '__all__'
|
|
|
|
|
|
class RegionReadSerializer(serializers.ModelSerializer):
|
|
|
|
country = CountryReadSerializer()
|
|
|
|
class Meta:
|
|
model = models.Region
|
|
fields = '__all__'
|
|
|
|
|
|
class ProvinceReadSerializer(serializers.ModelSerializer):
|
|
|
|
region = RegionReadSerializer()
|
|
|
|
class Meta:
|
|
model = models.Province
|
|
fields = '__all__'
|
|
|
|
|
|
class CityWriteSerializer(CustomWriteSerializer):
|
|
|
|
region = serializers.IntegerField()
|
|
|
|
def validate_region(self, value):
|
|
return models.Region.objects.using(self.context['db']).filter(id=value).first()
|
|
|
|
class Meta:
|
|
model = models.City
|
|
fields = '__all__'
|
|
|
|
|
|
class CityReadSerializer(serializers.ModelSerializer):
|
|
|
|
province = ProvinceReadSerializer()
|
|
|
|
class Meta:
|
|
model = models.City
|
|
fields = '__all__'
|
|
|