如何指定空查询集不为空查询集:[]到[<object:hi =“”>] </object:>

时间:2011-12-03 03:26:33

标签: python django

我确定对象是否为空时有问题... 这是我的代码:

此值没有数据

>>> x = Booking.objects.filter(date_select='2011-12-3')
>>> print x
[]
>>> if x == None:
...  print 'none'
... 
>>> 

这有一个数据:

>>> x = Booking.objects.filter(date_select='2011-12-2')
>>> print x
[<Booking: arab>, <Booking: arab>, <Booking: vvv>]
>>> if x == None:
...  print 'none'
... 
>>>

我从先前的问题中了解到[]不等于None ... 以下是我想在我的代码中应用的算法:

if x has an empty queryset
 print empy
else
 print data

任何人都可以帮助我吗? 感谢...

3 个答案:

答案 0 :(得分:7)

使用exists()

  

如果QuerySet包含任何结果,则返回True,否则返回False。   这会尝试以最简单,最快速的方式执行查询   可能,但它确实执行几乎相同的查询。这意味着   调用QuerySet.exists()比bool(some_query_set)更快,但不是   在很大程度上。

if my_queryset.exists():
    print "QuerySet has Data"
else:
    print "QuerySet is empty"

答案 1 :(得分:2)

这应该有效

if not x:
    print "Empty"
else:
    print data`

答案 2 :(得分:0)

x = Booking.objects.filter(date_select='2011-12-2')
if x.count() == 0:
    print "empty"