You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

22 lines
692 B

from rest_framework.viewsets import ModelViewSet
from ..actions.update_cache import delete_polygon_batch_from_cache
from ..models import Provider, ServiceArea
from ..serializers import ProviderSerializer
class ProvidersViewSet(ModelViewSet):
serializer_class = ProviderSerializer
queryset = Provider.objects.all()
def destroy(self, request, *args, **kwargs):
provider_id = kwargs['pk']
service_area_qs = ServiceArea.objects.filter(provider_id=provider_id)
if service_area_qs.exists():
delete_polygon_batch_from_cache(service_area_qs)
_ = service_area_qs.delete()
return super(ProvidersViewSet, self).destroy(request)