from django.db import models from backend.models.tag import TaggedItem, TaggedItemSerializer, TaggedItemViewSet from backend.models.city import City from backend.utils import get_model_config, get_viewset_permissions class CityTaggedItem(TaggedItem): model_config = get_model_config("CityTaggedItem") city = models.OneToOneField( City, on_delete=models.PROTECT, related_name='city_items', primary_key=True) @classmethod def get_serializer(cls): return CityTaggedItemSerializer class Meta: unique_together = ('city', 'tag') class CityTaggedItemSerializer(TaggedItemSerializer): class Meta: model = CityTaggedItem fields = '__all__' class CityTaggedItemViewSet(TaggedItemViewSet): permission_classes = get_viewset_permissions("CityTaggedItemViewSet") queryset = CityTaggedItem.objects.all() # pylint: disable=E1101 serializer_class = CityTaggedItemSerializer