嗨,我有一个模型,如:
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
在我的网址中:
router.register(r'appointments', AppointmentViewSet)
现在我想按一些患者 ID 过滤预约列表。此 id 应由请求者通过 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和/或视图以适应患者 ID 参数?我只想修改列表请求,所有其他操作(创建、详细信息、销毁)应由模型视图集的默认行为处理。
谢谢。