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

Perfil matching query does not exist.

Olá, estou recebendo o erro " Perfil matching query does not exist. " e não estou conseguindo identificar o motivo...

DoesNotExist at /
Perfil matching query does not exist.
Request Method:    GET
Request URL:    http://localhost:8000/
Django Version:    1.7.4
Exception Type:    DoesNotExist
Exception Value:    
Perfil matching query does not exist.
Exception Location:    /Library/Python/2.7/site-packages/django/db/models/query.py in get, line 357
Python Executable:    /usr/bin/python
Python Version:    2.7.10
Python Path:    
['/Users/flamas/connectedin',
 '/Library/Python/2.7/site-packages/pip-8.1.1-py2.7.egg',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC',
 '/Library/Python/2.7/site-packages']
Server time:    Sun, 1 Jan 2017 18:37:22 +0000
Traceback Switch to copy-and-paste view

/Library/Python/2.7/site-packages/django/core/handlers/base.py in get_response
                    response = wrapped_callback(request, *callback_args, **callback_kwargs) ...
▶ Local vars
/Users/flamas/connectedin/perfis/views.py in index
        'perfil_logado' : get_perfil_logado(request)}) ...
▶ Local vars
/Users/flamas/connectedin/perfis/views.py in get_perfil_logado
    return Perfil.objects.get(id=1)  ...
▶ Local vars
/Library/Python/2.7/site-packages/django/db/models/manager.py in manager_method
                return getattr(self.get_queryset(), name)(*args, **kwargs) ...
▶ Local vars
/Library/Python/2.7/site-packages/django/db/models/query.py in get
                self.model._meta.object_name) ...
▶ Local vars
6 respostas

O id que vc está passando de Perfil, não existe :(. Estou assumindo que vc está passando um número que tem certeza que existe, então, provavelmente, é algum bug do seu projeto que está fazendo passar o id errado.

solução!

Estou com o mesmo problema (não sei se na mesma parte do curso que você). Mas a causa, pelo que percebi, é que no fim da aula 11 nós devemos deletar o banco de dados para garantir que todos usuarios cadastrados estejam com os campos preenchidos corretamente. Só que em perfis/views.py ainda há a gambiarra get_usuario_logado(id=1).

Alberto e Antonio,

Obrigado pelas respostas. Refiz o código e retirei a "gambiarra" de utilizar o usuário padrão id=1. A aplicação voltou a funcionar corrtamente.

Agradeço o apoio.

Abs,

Perdão eu não entendi a solução. Eu gostaria de saber qual o valor colocar em perfis/views.py na gambiarra get_usuario_logado(id=1) ???

Na verdade eu precisei excluir os campos do: get_perfil_logado(request).

E comentei o: def get_perfil_logado(request): return Perfil.objects.get(id=1)

Para poder pegar o primeiro usuário,percebi que para os novos registros eu tive que colocar essas informações no código novamente. Tá correto?

Oi, Priscila. Faz muito tempo que fiz isso, mas pelo que me lembro o problema é que o get_usuario_logado(request) estava devolvendo o perfil com id = 1, mas nessa parte do curso nós deletamos todo o conteúdo do banco. Mas ele ainda não ensinou como fazer o método retornar um usuário realmente logado, então você deve dar return em um Perfil que realmente esteja inserido no banco: return Perfil.objects.get(id="aqui qualquer id de perfil que exista no banco). Acho que é isso!

O meu projeto deu a mesma coisa, não consigo acessar nada após tentar registrar um usuário. Alguém da Alura poderia auxiliar ?