2012-10-29 81 views
0

有没有什么办法可以指定一个Django Queryset,它什么都不做,但仍然是有效的Queryset?理想情况下,空查询集不应该调用数据库,结果将是空的。Django Queryset for no-operation

回答

4

Model.objects.none()
总是给你一个空查询集

1

使用MyModel.objects.none()它会返回一个EmptyQuerySet,这是一个QuerySet子类,它始终计算为一个空列表。 。

对于例如,如果你有一个模型类Entry(或只使用models.Model),你可以简单地创建一个EmptyQuerySet由:

>>> Entry.objects.none() 
[]