class DeleteLedgerCategory(DestroyAPIView):
serializer_class = CategorySerializer
permission_classes = [IsAuthenticated]
def get_queryset(self):
queryset = Category.objects.filter(company = self.request.user.currently_activated_company, id=self.kwargs['pk'])
return queryset
def preform_destroy(self, instance):
if instance.is_default == True:
raise ValueError("Cannot delete default system category")
return instance.delete()
Run Code Online (Sandbox Code Playgroud)
在上述基于类的视图中。我需要添加自定义验证错误消息。IE。if instance.is_default == True: raise error... 并且只允许在没有遇到错误的情况下删除实例。如果有任何不清楚的问题。做评论