2010-01-14 49 views

回答

2

由於轉11646(3個月前)Django中有一個特殊功能(見票11402):

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

也就是更有效,因爲它產生EXISTS SQL語句,而不是填充Python對象。

+0

+1這比我自己的回答好得多 – jbochi

+0

感謝讚賞 –

+0

我使用的是舊版本的django,存在是不允許的。 –

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

您可以用安東尼Hatchkins'解決方案或:

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

編輯:有一個shortcut這是非常方便的:

from django.shortcuts import get_object_or_404 

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

這個例子是等價於:

from django.http import Http404 

def my_view(request): 
    try: 
     my_object = MyModel.objects.get(pk=1) 
    except MyModel.DoesNotExist: 
     raise Http404 
相關問題