35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
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.permissions import AllowAny
|
|
from rest_framework import status
|
|
|
|
|
|
class CityViewSet(ModelViewSet, SoftDeleteMixin): # noqa
|
|
""" Crud operations for city model """ #
|
|
queryset = City.objects.all()
|
|
serializer_class = CitySerializer
|
|
permission_classes = [AllowAny]
|
|
|
|
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
|
|
permission_classes = [AllowAny]
|