Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Add total doctors count to hospital doctor list response #2629

Closed
7 changes: 7 additions & 0 deletions care/facility/api/viewsets/hospital_doctor.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
from rest_framework.generics import get_object_or_404
from rest_framework.mixins import ListModelMixin
from rest_framework.permissions import IsAuthenticated
from django.db.models import Sum

from care.facility.api.serializers.hospital_doctor import HospitalDoctorSerializer
from care.facility.api.viewsets import FacilityBaseViewset
Expand Down Expand Up @@ -42,5 +43,11 @@ def get_facility(self):
facility_qs.filter(users__id__exact=self.request.user.id)
return get_object_or_404(facility_qs)

def list(self, request, *args, **kwargs):
response = super().list(request, *args, **kwargs)
total_doctors = self.get_queryset().aggregate(total_doctors=Sum('count'))['total_doctors']
response.data["total_doctors"] = total_doctors or 0
return response

def perform_create(self, serializer):
serializer.save(facility=self.get_facility())