我正在对数据库进行查询,如果查询没有返回任何内容我想做某事,但是我收到错误:
user = User.objects.get(name=Jack)
if (user == NULL):
# something
我得到的用户匹配查询不存在。
答案 0 :(得分:4)
throws an exception。也许你应该试试catching it。
答案 1 :(得分:4)
Django不会“返回”任何内容,而是会引发错误,因此您无法进行if测试。
而是将代码包含在try catch中,就像这样
try:
user = User.objects.get(name="Jack")
except User.DoesNotExist:
user = None
编辑:oops,python每次都得到我;)
答案 2 :(得分:3)
你会想要使用这样的东西。 https://docs.djangoproject.com/en/1.3/ref/models/querysets/#get
try:
user = User.objects.get(name="Jack")
except User.DoesNotExist:
print "User does not exist"
如果您要访问404页面,则可能需要使用以下https://docs.djangoproject.com/en/1.3/topics/http/shortcuts/#get-object-or-404
from django.shortcuts import get_object_or_404
user = get_object_or_404(User, name="Jack")