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__'