我很难尝试测试天气,数据库中的记录存在于django中的特定ID。
something = User.objects.get(id=myID)
if something is None:
text="No Record"
我需要做这样的事情。
答案 0 :(得分:2)
自rev 11646(3个月前)以来,django有一个特殊功能(见票11402):
if not User.objects.filter(id=myID).exists():
text = "No Record"
由于它生成EXISTS sql语句而不是填充python对象,因此效率更高。
答案 1 :(得分:1)
if not User.objects.filter(id=myID):
text = "No Record"
答案 2 :(得分:0)
您可以使用Antony 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