1
resposta

[SUGESTÃO] BUSCA COMPLETA

Acompanhando a aula e as sugestões do fórum, notei a dificuldade em realizar buscas também pela categoria (embora redundante com os filtros, acho que para a melhor experiência do usuário isso é um ponto a se considerar). No exemplo dado em aula o nome "Nebulosa" só é encontrado devido a existência de uma foto chamada "Nebulosa de Carina". Mas, caso suas fotos adicionadas sejam diferentes (e com nomes em inglês, como no meu caso), ao buscar por "nebula" a foto apareceria, pois é o nome da foto, mas buscando por "Nebulosa" ou "Planeta" a busca retornava que não foram encontradas imagens. Dessa forma, realizei uma pesquisa e cheguei à seguinte conclusão, editando a função buscar dentro de views.py:

#Código omitido

def buscar(request):
    if not request.user.is_authenticated:
        messages.error(request, 'Usuário não logado')
        return redirect('login')

    fotografias = Fotografia.objects.filter(publicada=True).order_by("data_fotografia")

    nome_a_buscar = request.GET.get('buscar', '')
    if nome_a_buscar:
        # Filtrando por nome, legenda, descrição e categoria
        fotografias = fotografias.filter(
            Q(nome__icontains=nome_a_buscar) | 
            Q(legenda__icontains=nome_a_buscar) | 
            Q(descricao__icontains=nome_a_buscar) | 
            Q(categoria__icontains=nome_a_buscar)  # Agora inclui a categoria
        )
        
        if not fotografias.exists():
            messages.info(request, 'Nenhuma fotografia encontrada com esse termo.')

    return render(request, "galeria/index.html", {"cards": fotografias})
    
    #Código omitido
1 resposta

Boa Victor, de fato vc está certo, com essa nova view fica mais facil de buscar