gpt4 book ai didi

python - 名称 'self' 未定义

转载 作者:太空宇宙 更新时间:2023-11-04 08:15:49 25 4
gpt4 key购买 nike

class customerDetailView(DetailView):
queryset = Customer.objects.get(name=self.name) # This line give error NameError: name 'self' is not defined
context_object_name = 'customerDetail'
template_name = "customer.html"
allow_empty = True

def __init__(self, name=None, *args):
self.name = name

报错 NameError: name 'self' is not defined

最佳答案

由于您想要自定义 DetailView 的查询集,正确的方法是覆盖 get_queryset() 函数。查看documentation for DetailView它显示了方法解析顺序。特别是,get_queryset()被称为。

所以你的代码会变成这样:

class customerDetailView(DetailView):
context_object_name = 'customerDetail'
template_name = "customer.html"
allow_empty = True

def __init__(self, name=None, *args):
self.name = name

def get_queryset(self):
return Customer.objects.get(name=self.name)

你不能像现在这样使用 self 因为 self 在类声明中不存在,只有当类的实例已创建。

关于python - 名称 'self' 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14787163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com