我很难试图在数据库中存储django中的特定ID的记录。如何在django中测试数据库中的空字符串?
something = User.objects.get(id=myID)
if something is None:
text="No Record"
我需要做这样的事情。
我很难试图在数据库中存储django中的特定ID的记录。如何在django中测试数据库中的空字符串?
something = User.objects.get(id=myID)
if something is None:
text="No Record"
我需要做这样的事情。
由于转11646(3个月前)Django中有一个特殊功能(见票11402):
if not User.objects.filter(id=myID).exists():
text = "No Record"
也就是更有效,因为它产生EXISTS SQL语句,而不是填充Python对象。
if not User.objects.filter(id=myID):
text = "No Record"
您可以用安东尼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
+1这比我自己的回答好得多 – jbochi
感谢赞赏 –
我使用的是旧版本的django,存在是不允许的。 –