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
Last modified
17 years ago
Last modified on Jun 20, 2008, 3:23:52 PM
Note:
See TracWiki
for help on using the wiki.