附近今天
回答
當然可以,你要的是的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. 在今天並行
使用 - 在排序順序顛倒順序 –