Python 如何在django rest framework serialiser的视图中应用自定义过滤器?
我有以下三个模型定义Python 如何在django rest framework serialiser的视图中应用自定义过滤器?,python,django,django-rest-framework,Python,Django,Django Rest Framework,我有以下三个模型定义 class Program(models.Model): title = models.CharField(max_length=200, null=True, blank=True) assigned_by = models.ForeignKey('physio.Physio', null=True, blank=True) assigned_to = models.ManyToManyField('patient.Patient') s
class Program(models.Model):
title = models.CharField(max_length=200, null=True, blank=True)
assigned_by = models.ForeignKey('physio.Physio', null=True, blank=True)
assigned_to = models.ManyToManyField('patient.Patient')
start_date = models.DateTimeField(null=True, blank=True)
end_date = models.DateTimeField(null=True, blank=True)
duration = models.CharField(max_length=200, null=True, blank=True)
description = models.CharField(max_length=200, null=True, blank=True)
exercises = models.ManyToManyField(
'exercise.Exercise')
这是序列化程序
class ProgramSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Program
fields = (
'title', 'assigned_by', 'start_date', 'end_date', 'duration', 'description', 'exercises'
)
意见如下:
class ProgramViewSet(viewsets.ModelViewSet):
"""
API endpoint that allows users to be viewed or edited.
"""
queryset = Program.objects.all()
serializer_class = ProgramSerializer
我想让一个特定的理疗师给一个病人分配所有的程序。
如何改变观点
URL可以是-/programs/physio/:physioID/patient/:patientID
我使用了通用列表和详图视图 您可以实现
程序视图集的方法
def get_queryset(self):
physio = Physio.objects.get(id=self.kwargs['physioID'])
patient = Patient.objects.get(id=self.kwargs['patientID'])
return Purchase.objects.filter(assigned_by=physio,
assigned_to=patient)
如中所述