附近今天
回答
当然可以,你要的是的order_by降行为。
最古的项目第一次。
Model.objects.order_by('creation_time')
最新产品第一。(你想要的)
Model.objects.order_by('-creation_time')
为您编辑
你必须做两个查询,然后将其评估为列表做你笏什么,你不能做这样的事与Django的ORM的查询。
实际上,结合查询使用|运营商不会保留你想要的订单,所以你不能用2个Django查询来做到这一点。
qset = Model.objects.all()
result = qset.filter(creation=today) | qset.filter(creation_gte=today) | qset.filter(creation_lt=today)
以下result
将包含你想要的所有项目,但不会保留单查询集排序。所以,不要去做你想要的东西。
因此,总之,您必须评估查询集,并将它们作为列表添加到一起以实现您想要的结果。
qset = Model.objects.all()
result = list(qset.filter(creation=today)) + list(qset.filter(creation_gte=today)) + list(qset.filter(creation_lt=today))
或在一个更好的方式:
import itertools
result = list(itertools.chain(qset.filter(creation=today), qset.filter(creation_gte=today), qset.filter(creation_lt=today)))
不要忘记做order_by
S IN每个查询集命令结果的每一部分,只要你想,对代码的简洁,我没在这里写下它们。
我更新的问题,我不太清楚 –
@RodrigoTravessini你不能做这样的事情,而无需通过Django的查询集(即**查询集的私有方法的黑客攻击你的方式。 _result_cache **),我已经更新了我的答案。 – SpiXel
- 1. 检查其日期最接近今天
- 2. 查找距今天最近的日期
- 3. AS3距离今天最近的日期
- 4. 今天
- 5. 今天
- 6. 今天
- 7. 今天
- 8. 使用Java以毫秒为单位将时间转换为今天,昨天,最近7天,最近30天
- 9. iPhone SDK - 天,今天
- 10. 怎么办:“今天到今天-7”?
- 11. angularjs今天
- 12. 今天怎么
- 13. 插件今天
- 14. 阵列今天
- 15. DOTNET今天
- 16. 的strtotime今天
- 17. 数到今天
- 18. 日期codeniter10天从今天
- 19. PHP:日期“昨天”,“今天”
- 20. array_multisort按值最接近今天的日期排序
- 21. 显示帖子最接近今天的日期
- 22. SQL查询,如果日期是接近今天
- 23. Sql Server获取最近(未来)到今天的行
- 24. Google表格:QUERY今天之前的最近日期
- 25. 如何订购接近今天的日期的活动
- 26. UITableView滚动到最接近今天的日期部分
- 27. 如何从今天获得最后weeek日期最近7天的约会
- 28. 只显示从今天的日期最近7天使用jQuery UI Datepicker
- 29. 今天的日期
- 30. 在今天并行
使用 - 在排序顺序颠倒顺序 –