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)
如中所述