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

Dúvida exercício aula 08

Boa noite. Terminei os exercícios da aula 08, mas no painel onde mostram os convites recebidos, além de mostrar o convite do usuário id=2 está mostrando vários convites com o usuário do id=1. Aqui está o git do projeto pra ficar mais fácil o entendimento:

https://github.com/snascs/connectedin

Não entendi pq isso aconteceu.

7 respostas

Oi Samuel, tentei clonar mas estou com problema na minha rede. Vou tentar mais tarde e te passo um Feedback . Combinado? No mais tardar amanhã.

Ok Flávio. Fico no aguardo.

solução!

Olá, veja só como verifiquei seu código.

Primeiro, abrir o shell do Django:

 python manage.py shell

Depois, importei Perfil e joguei o perfil com ID 1 para uma variável. Imprimi o convite recebido:

>>> from perfis.models import Perfil
>>> perfil = Perfil.objects.get(id=1)
>>>for convite in perfil.convites_recebidos.all():
...        convite.solicitante.nome

Ele imprime no console:

u'Oswaldo Alterado'
u'Oswaldo Alterado'
u'Oswaldo Alterado'
u'Oswaldo Alterado'
u'Oswaldo Alterado'
u'Fl\xe1vio Almeida'

Quando rodo sua aplicação, está corretamente sendo exibido os convites recebidos pelo usuário 1. Quando faço a mesma coisa, mas trocando pelo ID 2, olha só os solicitantes que aparecem:

u'Oswaldo Alterado'
u'Oswaldo Alterado'
u'Oswaldo Alterado'

Apenas três, e não seis.

Resumindo: comparando o que você gravou no banco com o resultado do que esta sendo exibido na tela, esta tudo perfeito.

Talvez, posso estar enganado, foi que na hora de você ter associado algo ao Perfil 2,você não tenha adicionado no Perfil 1, isso no capítulo 6.

Era isso? Aguardo seu feedback, estou curioso para saber se é isso mesmo.

Oi Samuel, só não esquece de me passar seu feedback para saber se está tudo certinho e se era isso mesmo.

Boa tarde Flavio. Vi a sua resposta apenas agora, ontem a noite não tive tempo de mexer. Mas acho que vc está correto, na aula 6 quando implementamos o método convidar, acho que sai clicando em tudo. Tem como deletar esses registros no SQLite, deixando apenas o que fiz na última aula?

Deletar será laboroso, você pode é fazer o seguinte. Com o servidor parado, apague o arquivo connectedin/db.sqlite3. Ele apagará o banco por inteiro. Depois, execute o comando:

python manage.py migrate

Ele criará o arquivo db.sqlite3 novamente com todas as tabelas. Claro, você precisará incluir os dados do perfil e tudo que foi pedido no treinamento.

Eu não me aborreceria do jeito que está, já que você entendeu o que houve. Fica sua decisão apagar o banco, criá-lo e populá-lo novamente ou deixar do jeito que está.

Ah, e bom estudo e sucesso com Django! Se essa questão foi resolvida, não deixe de marcar minha resposta como solução :)

Obrigado pelo feedback. Vou deixar do jeito que está e bola pra frente.