django UnboundLocalError -赋值前引用了局部变量“emprendedores”

lnlaulya  于 2022-11-26  发布在  Go
关注(0)|答案(1)|浏览(135)

我不知道为什么会收到此错误消息:"UnboundLocalError-赋值前引用了局部变量" emprendedores ""
enter image description here
嘿,伙计们,我正在Django中开发一个应用程序,几乎做得很好。但是,我在搜索视图中找不到问题的解决方案。主要的想法是允许用户指定单词,并从表单中选择所需的搜索字段,然后返回满足条件的注册用户。
html文件如下所示:
enter image description here
这是模型:
enter image description here
这是我正在研究的视图:
enter image description here
但我不明白为什么会收到此错误消息:"UnboundLocalError-赋值前引用了局部变量" emprendedores ""
enter image description here
如果有人能帮助我,我会很高兴的。

nbnkbykc

nbnkbykc1#

这是错误:

UnboundLocalError at /consulta/
local variable 'emprendedores' referenced before assignment
Request Method: POST
Request URL:    http://127.0.0.1:8000/consulta/
Django Version: 3.2.8
Exception Type: UnboundLocalError
Exception Value:    
local variable 'emprendedores' referenced before assignment
Exception Location: C:\Users\Jobert Gutierrez\Documents\PROYECTOS\DESPRO\BARDEP\views.py, line 112, in Consulta
Python Executable:  C:\ProgramData\Anaconda3\python.exe
Python Version: 3.9.7

这是视图:

def Consulta(request):
    if request.method == "POST":
        #fields = Emprendedores._meta.get_fields()
        fields = request.POST.getlist('campos')
        busqueda = request.POST['busqueda']
        query = Q()
        if (busqueda.isnumeric()):
            emprendedores = Emprendedores.objects.filter(numerodocumento__contains=busqueda)
            messages.success(request,("No existen coincidencias para su búsqueda"))
        else:
            for columna in fields:
                if columna in Emprendedores._meta.get_fields():
                    condicion = {f'{columna}__icontains': busqueda }
                    query |= Q(**condicion)
                    query.connector = 'OR'
                    emprendedores = Emprendedores.objects.filter(query)  
                elif columna in SectorEconomico._meta.get_fields():
                    query1 = SectorEconomico.objects.filter(nombresector__icontains=busqueda)   
                    emprendedores = Emprendedores.objects.filter(sectoreco__pk=F('query1__pk'))
                return emprendedores
            return emprendedores
        return render(request,'buscados.html',{'emprendedores':emprendedores})
    else:
        return render(request,'consulta.html')

我怎样才能把它发送到视图中?

相关问题