web-search-for-the-nearest-hospitals / backend

ПоисКлиник
https://poisklinik.acceleratorpracticum.ru
2 stars 1 forks source link

Изменение логики ручки отдачи свободных талонов на день #116

Closed PrudyvusP closed 10 months ago

PrudyvusP commented 10 months ago

Необходимо пересмотреть подход по отдаче списка свободных талонов на день в сторону отдачи массива свободных талонов на N - дней вперед, где N мы принимаем как параметр и считаем равным не больше 14

PrudyvusP commented 10 months ago

Задача временно закрывается Имеющиеся наработки:

serializers.py

    offset = serializers.IntegerField(
        default=1,
        min_value=1,
        max_value=15,
        help_text='Кол-во дней + от переданной даты, на которые нужно '
                  'показать талоны'

    )

views/organizations.py

from django.db.models import Prefetch, Count

        free_appointments_query = (
            Appointment
            .objects
            .only('id', 'datetime_start')
            .values('datetime_start__date')
            .filter(organization__uuid=uuid, status=Appointment.FREE,
                    specialty=spec, datetime_start__date=which_date)
                    specialty=spec,
                    datetime_start__date__gte=which_date,
                    datetime_start__date__lte=which_date +
                                              datetime.timedelta(days=offset)
                    )
            .annotate(total=Count('id'))

В этом запросе отдается datetime и количество свободных записей на соответсвующий день