如何在django中测试数据库中的空字符串?

时间:2010-01-14 14:29:26

标签: mysql django

我很难尝试测试天气,数据库中的记录存在于django中的特定ID。

something = User.objects.get(id=myID)
if something is None:
     text="No Record"

我需要做这样的事情。

3 个答案:

答案 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