Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Dados não aparecem na Dashboard

Olá professsor, tudo bem?

Estou acompanhando o projeto do curso mas fazendo um outro projeto seguindo a mesma base. Ao fazer a mudança do código para exibir o resultado por usuário na dashboard (no meu caso é uma tabela) os dados aparecem em branco (mas da forma anterior utilizando a view.py de receitas ele exibia os resultados contidos no banco de dados). Ao tentar dar um simples print na variável "dados" é exibido "{'documentos': <QuerySet [<Documentos: Certificado de conclusão do Ensino Médio>]>} [28/Sep/2020 01:51:06]" mas não exibe o valor das variáveis na dashboard e nenhum tipo de erro.

Assim está meu código:

def dashboard(request):

    if request.user.is_authenticated:

        id = request.user.id

        documentos = Documentos.objects.order_by('nome_documento').filter( assessorado_id = id)

        dados = {
        'documentos' : documentos
        }  

        print(dados)

        return render(request,'dashboard.html', dados)     

    else:

        return render(request,'usuarios/login.html')

Poderia por favor me auxiliar no que poderia estar errado? Obrigado!

6 respostas

Oi Caio, tudo bem?

Quando você faz uma busca no banco utilizando o Django ORM é retornado um QuerySet mesmo. Caso você queira um único registro retornado você pode utilizar o .first() no final da busca, assim:

documentos = Documentos.objects.order_by('nome_documento').filter( assessorado_id = id).first()

Assim ele só retornará o primeiro registro. Ou se for mais de um registro esperado, talvez o correto seja fazer um for e iterar nesse QuerySet.

Obrigado Erick!! Então, esse for ele já faz na tela de dashboard, o print eu fiz apenas para saber se estava retornando algo do Queryset.

Ah sim, muito bem!

O problema é que ele retorna, na tabela da dashboard ele exibe o item, no caso se eu cadastrar 3 itens ele coloca 3 linhas, mas os valores dentro das colunas ficam em branco, sendo que com a configuração anterior que era similar mas não tinha a distinção de usuários era exibido o valor...

solução!

Descobri qual o erro.... Seguindo o passo a passo do curso não me atentei para a mudanca do nome da variável de exibição que antes era documento e depois ficou documentos, por isso aparecia o item mas não os valores. De qualquer forma muito obrigado!!

BOAAA!!!