added geo module, with region supporting gis data

This commit is contained in:
Sam
2021-01-21 13:18:37 +00:00
parent 944bc7d6c7
commit 9965900791
12 changed files with 5108 additions and 4 deletions

68
geo/serializers.py Normal file
View File

@@ -0,0 +1,68 @@
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__'