在 Django 视图 class 中出现错误 - 未定义全局名称 'self'

in Djando view class getting error - global name 'self' is not defined

在我基于 Django 的应用程序中

我正在尝试重写删除视图的删除方法。 我有 2 个模型 CategorySubcategory

类别是子类别的外键,在删除时受到保护。

category = models.ForeignKey(Category, on_delete=models.PROTECT)  

这是我在 view.py 中的 class 但是每次执行时我都会得到 - 未定义全局名称 'self'。

(代码在 class 内,所以 self 应该指的是 class。我以为我必须创建实例才能使用它,但我在 Django 上在线看到的所有示例都完全做到了像这样。)

class CategoryDelete(DeleteView):
    model = Category
    success_url = reverse_lazy('category_list')

    def delete(request, *args, **kwargs):
        self.object = self.get_object()
        if self.object.gameteams_set.exists():
            # Return the appropriate response
            success_url = self.get_success_url()
            self.object.delete()
        return HttpResponseRedirect(success_url)

您的函数参数丢失self:

def delete(self, request, *args, **kwargs):

delete 函数属于 class CategoryDelete,因此 class 方法需要 self 来访问实例的属性。