| Version 2 (modified by , 17 years ago) ( diff ) |
|---|
Obtendo objeto com validação
Ao obter um objeto através do método .get() da QuerySet, caso o registro não seja encontrado no banco de dados, uma exceção do tipo DoesNotExist será exibida.
A solução para isso é escolher uma das duas abaixo:
Se não existe, retorna erro 404
Ideal para situações onde se deseja informar que a página não foi encontrada caso determinado objeto não exista. Como no exemplo abaixo:
from django.shortcuts import get_object_or_404
from django.contrib.auth.models import User
def usuario(request, username):
usuario = get_object_or_404(User, username=username)
return HttpResponse('Usuario encontrado!')
Se não existe, trata o erro
from django.contrib.auth.models import User
def usuario(request, username):
try:
usuario = User.objects.get(username=username)
except User.DoesNotExist, e:
return HttpResponse('Usuario nao encontrado!')
return HttpResponse('Usuario encontrado!')
Tire outras dúvidas em nosso CookBook em Português
Note:
See TracWiki
for help on using the wiki.