2010-01-14 5 views

Répondre

2

Depuis rev 11646 (il y a 3 mois) django a une fonction spéciale pour que (voir billet 11402):

if not User.objects.filter(id=myID).exists(): 
    text = "No Record" 

qui est plus efficace car il génère EXISTE instruction SQL au lieu de peupler l'objet python.

+0

+1 C'est beaucoup mieux que ma propre réponse – jbochi

+0

Merci pour l'appréciation –

+0

J'utilise une ancienne version de django, existe malheureusement tristement. –

1
if not User.objects.filter(id=myID): 
    text = "No Record" 
0

Vous pouvez utiliser la solution de Antony Hatchkins ou:

try: 
    something = User.objects.get(id=myID) 
except User.DoesNotExist: 
    text="No Record" 

EDIT: Il y a une shortcut qui est très pratique:

from django.shortcuts import get_object_or_404 

def my_view(request): 
    my_object = get_object_or_404(MyModel, pk=1) 

Cet exemple est équivalent à:

from django.http import Http404 

def my_view(request): 
    try: 
     my_object = MyModel.objects.get(pk=1) 
    except MyModel.DoesNotExist: 
     raise Http404 
Questions connexes