from django.db import models from backend.models.country import Country from backend.models.my_model import MyModel, MyModelSerializer, MyModelVersionnedViewSet from backend.utils import get_model_config, get_viewset_permissions class City(MyModel): model_config = get_model_config("City") name = models.CharField(max_length=200) local_name = models.CharField(max_length=200, null=True, blank=True) # We add an area to distinguish similarly named cities # in a country area = models.CharField(max_length=200, null=True, blank=True) country = models.ForeignKey(Country, on_delete=models.PROTECT) class CitySerializer(MyModelSerializer): class Meta: model = City fields = '__all__' class CityViewSet(MyModelVersionnedViewSet): permission_classes = get_viewset_permissions("CityViewSet") queryset = City.objects.all() # pylint: disable=E1101 serializer_class = CitySerializer