2010-01-14 48 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 
相关问题