【发布时间】:2013-07-12 21:56:52
【问题描述】:
假设我有一组模型对象,每个对象都标有日期和时间。我想选择日期在过去的所有项目,加上最接近今天但在未来的项目。到目前为止,我得到了这个:
from django.utils.timezone import now
from models import Resource
next = Resource.objects.filter(date__gt=now()).reverse()[0]
archive = Resource.objects.filter(date__lt=now())
这看起来很笨重。我想知道是否有一种方法可以使用一个(干净的)QuerySet 只访问数据库一次。这可能吗?
【问题讨论】:
-
不会有两个查询,因为两种情况相互矛盾。
-
顺便说一下,
next对于变量来说是个糟糕的选择。是内置next的名称。 -
很高兴知道。谢谢!
标签: python django django-queryset