覆盖 Djangorest ViewSets 删除行为

Has*_*bal 7 python django django-rest-framework sql-delete django-rest-viewsets

我已经定义了一个这样的模型:

class Doctor(models.Model):
    name = models.CharField(max_length=100)
    is_active = models.BooleanField(default=True)
Run Code Online (Sandbox Code Playgroud)

我的序列化器:

class DoctorSerializer(serializers.ModelSerializer):
    class Meta:
        model = Doctor
        fields = ('id', 'name', )
Run Code Online (Sandbox Code Playgroud)

在视图中:

class DoctorViewSet(viewsets.ModelViewSet):
    queryset = Doctor.objects.all()
    serializer_class = DoctorSerializer
Run Code Online (Sandbox Code Playgroud)

现在,我可以通过使用 http 方法DELETE调用 url: 'servername/doctors/id/'来删除医生。但是,我想覆盖此模型的删除行为。我希望,当用户删除一条记录时,它的is_active字段设置为false,而不实际从数据库中删除记录。我还想保留 Viewset 的其他行为,如列表、放置、创建等。

我怎么做?我在哪里编写覆盖此删除行为的代码?