from apps.authentication.api.v1.serializers.serializer import ( CitySerializer, ProvinceSerializer ) from apps.core.mixins.soft_delete_mixin import SoftDeleteMixin from apps.authentication.models import City, Province from rest_framework.viewsets import ModelViewSet from rest_framework.response import Response from rest_framework import status class CityViewSet(ModelViewSet, SoftDeleteMixin): # noqa """ Crud operations for city model """ # queryset = City.objects.all() serializer_class = CitySerializer def list(self, request, *args, **kwargs): """ return list of cities by province """ serializer = self.serializer_class( self.queryset.filter( province_id=int(request.GET['province']) ), many=True ) return Response(serializer.data, status=status.HTTP_200_OK) class ProvinceViewSet(ModelViewSet, SoftDeleteMixin): """ Crud operations for province model """ # queryset = Province.objects.all() serializer_class = ProvinceSerializer