UnboundLocalError - локальная переменная 'emprendedores' ссылается перед присвоением

Я не могу понять, почему я получаю это сообщение об ошибке: "UnboundLocalError - локальная переменная 'emprendedores' ссылается перед присвоением"

>

введите описание изображения здесь

Здравствуйте, я создаю приложение на Django и почти все получается. Однако, я не могу найти решение проблемы в моем представлении поиска. Основная идея заключается в том, чтобы позволить пользователю указать слово и выбрать нужные поля для поиска из формы, и возвращать зарегистрированных пользователей, которые удовлетворяют критериям.

html-файл выглядит следующим образом:

введите описание изображения здесь

Это модель:

введите описание изображения здесь

и вот вид, над которым я работаю:

введите описание изображения здесь

Но я не могу понять, почему я получаю это сообщение об ошибке: "UnboundLocalError - локальная переменная 'emprendedores' ссылается перед присвоением"

>

введите описание изображения здесь

Буду рад, если кто-то сможет мне помочь.

Это ошибка:

UnboundLocalError at /consulta/ локальная переменная 'emprendedores' ссылается до присвоения Метод запроса: POST URL запроса: http://127.0.0.1:8000/consulta/. Версия Django: 3.2.8 Тип исключения: UnboundLocalError Значение исключения:
локальная переменная 'emprendedores' ссылается до присвоения Местоположение исключения: C:\Users\Jobert Gutierrez\Documents\PROYECTOS\DESPRO\BARDEP\views.py, line 112, in Consulta Python Executable: C:\ProgramData\Anaconda3\python.exe Версия Python: 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')

Как я могу отправить его в представление?

Вернуться на верх