使用django框架开发过程中,经常需要重写perform_destroy函数。perform_destroy函数有两个参数,第二个参数就是model对象实例。我们可以根据需要对model进行操作。
from rest_framework import generics
class EachApple(Basic, generics.RetrieveUpdateDestroyAPIView):
queryset = Apple.objects.all().order_by('-create_time')
serializer_class = AppleSerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
def perform_update(self, serializer):
user = self.request.user.username
serializer.save(operator=user)
def perform_destroy(self, instance):
# instance is Apple object
Apple.objects.filter(id=instance.id).update(status=1)
perform_destroy对当前操作的apple model对象状态置1。