1
resposta

erro na busca

Estou com erro mas não consigo identificar se é algo escrito errado ou erro no banco de dados codigo:

from django.shortcuts import get_object_or_404, render
from galeria.models import Fotografia


def index(request):
    fotografias = Fotografia.objects.order_by("date_fotografia").filter(visible=True)

    return render(request, 'galeria/index.html', {"cards":fotografias})

def imagem(request, foto_id):
    fotografia = get_object_or_404(Fotografia, pk=foto_id)
    return render(request, 'galeria/imagem.html', {"fotografia": fotografia})

def buscar(request):
    fotografias = Fotografia.objects.order_by("date_fotografia").filter(visible=True)

    if "buscar" in request.GET:
        nome_a_buscar = request.GET['buscar']
        if nome_a_buscar:
            fotografias = fotografias.filter(nome__icontains=nome_a_buscar)

    return render(request, "galeria/buscar.html", {"cards": fotografias})

Insira aqui a descrição dessa imagem para ajudar na acessibilidadese alguém tiver alguma noção

1 resposta

Olá Victor, tudo bem?

Peço desculpa pela demora em responder o seu tópico.

Analisando o seu erro percebi uma inconsistência entre a informação presente no seu código e no erro. A inconsistência em questão é nesse seguinte trecho de código:

fotografias = fotografias.filter(nome__icontains=nome_a_buscar)

Que no seu erro é apresentado da seguinte forma:

fotografias = fotografias.filter(name__unaccent__icontains=nome_a_buscar)

O que me faz pensar que a versão do código que você compartilhou não é a que gerou o erro, então peço que compartilhe a versão que gerou o erro.

Agora sobre o erro em questão, ele acontece quando estamos usando um parâmetro de filtro que não é reconhecido, no seu caso o "unaccent" não está sendo reconhecido como válido. Então verifique se está definindo isso corretamente no seu código.

Espero ter ajudado. Caso tenha mais dúvidas ou problemas estarei à disposição.

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software