Привет, у меня есть такая модель:
class Appointment(models.Model):
hospital = models.ForeignKey(Hospital, on_delete=models.CASCADE)
patient = models.ForeignKey(Patient, on_delete=models.CASCADE)
Мой вид выглядит так:
class AppointmentViewSet(viewsets.ModelViewSet):
queryset = Appointment.objects.all()
serializer_class = AppointmentSerializer
В моих URL:
router.register(r'appointments', AppointmentViewSet)
Теперь я хочу отфильтровать список назначений по идентификатору пациента. Этот идентификатор должен быть предоставлен запрашивающей стороной через URL-адрес. Я думаю об использовании kwargs, чтобы поймать его. Но я понятия не имею, как это сделать. Я знаю, что мне нужно переопределить метод list.
def list(self, request, *args, **kwargs):
# what do I write here? so that the queryset would be filtered by patient id sent through the url?
Как настроить url и/или представление для размещения параметра идентификатора пациента? Я просто хочу изменить запрос списка, все остальные действия (создание, детализация, уничтожение) должны обрабатываться поведением по умолчанию для modelviewset.
Спасибо.