Django的ORDER_BY查询集,升序和降序
如何订购由降我的查询在Django按日期设定?
Reserved.objects.all().filter(client=client_id).order_by('check_in')
我只是想从降所有由check_in日期保留筛选。 任何人都可以可以的想法? 提前致谢
1.
Reserved.objects.all().filter(client=client_id).order_by('-check_in')
注意-前check_inDjango的
2.
Reserved.objects.filter(client=client_id).order_by('-check_in')
连字符“-”在“check_in”前表示降序排列。升序是不言而喻的。
我们不必过滤器之前添加的所有()()。这将仍然有效,但你只需要添加所有()当你想从根本上查询集的所有对象。
更多关于这个在这里:
3.
它的工作原理去除
.all()
:
Reserved.objects.filter(client=client_id).order_by('-check_in')
补充知识:os.getcwd()、sys.path[0]、sys.argv[0]和__file__的区别
要分清这几个的区别与使用条件,实际测试一下是最准确的。
设计测试方法:
一个主模块用来运行,一个子模块用来被主模块调用
主模块路径:
/Users/stephen/Documents/code/test_dir/01test
子模块路径:
/Users/stephen/Documents/code/test_dir/02test
运行模块的路径:
/Users/stephen/Documents/code/test_dir/01test/001_test
ok 现在编写两模块代码
子模块 submodule.py
import os import sys def child_test(): print('sub os.getcwd():{}'.format(os.getcwd())) print('sub sys.path[0]:{}'.format(sys.path[0])) print('sub sys.argv[0]:{}'.format(sys.argv[0])) print('sub __file__:{}'.format(__file__)) if __name__ == '__main__': chid_test()
主模块 mainmodule.py
import os import sys import submodule def main(): print('main os.getcwd():{}'.format(os.getcwd())) print('main sys.path[0]:{}'.format(sys.path[0])) print('main sys.argv[0]:{}'.format(sys.argv[0])) print('main __file__:{}'.format(__file__)) submodule.child_test() if __name__ == '__main__': main()
目录结构
├── 01test
│ ├── 001_test # 运行目录
│ └── mainmodule.py # 主模块
└── 02test
└── submodule.py # 被调用模块
ok 来看看结果
Traceback (most recent call last): File "../mainmodule.py", line 3, in <module> import submodule ModuleNotFoundError: No module named 'submodule'
我去,出现了点小状况
原因是系统找不到该模块的路径,我们来人工添加一个路径
在主模块中前面添加
sys.path.append('/Users/stephen/Documents/code/test_dir/02test/')
再来试试 - -
结果如下:
main os.getcwd():/Users/stephen/Documents/code/test_dir/01test/001_test main sys.path[0]:/Users/stephen/Documents/code/test_dir/01test main sys.argv[0]:../mainmodule.py main __file__:../mainmodule.py sub os.getcwd():/Users/stephen/Documents/code/test_dir/01test/001_test sub sys.path[0]:/Users/stephen/Documents/code/test_dir/01test sub sys.argv[0]:../mainmodule.py sub __file__:/Users/stephen/Documents/code/test_dir/02test/submodule.py
结合目录结构看就清楚了
├── 01test
│ ├── 001_test # 运行目录
│ └── mainmodule.py # 主模块
└── 02test
└── submodule.py # 被调用模块
os.getcwd() 指的是运行程序的目录 (绝对路径)
sys.path[0] 主要模块的目录 (绝对路径)
sys.argv[0] 运行模块时,pyhton 后面的参数
__file__ 这个就有点奇怪了,主模块显示的相对路径,而被调用模块却用的绝对路径
__file__ 还是有点疑虑,于是去 stack overflow(click to)看到了这句话,如下:
So, if you are outside the part of sys.path that contains the module, you'll get an absolute path. If you are inside the part of sys.path that contains the module, you'll get a relative path.
If you load a module in the current directory, and the current directory isn't in sys.path, you'll get an absolute path.
If you load a module in the current directory, and the current directory is in sys.path, you'll get a relative path.
意思大致是:
如果你(你所在的当前目录)不在sys.path的范围里,你会得到绝对路径,反之,你会得到相对路径
如果你在当前目录加载模块,并且当前目录在sys.path 里, 你会得到相对路径。
对比上面的结果,符合。
不过我们还是应该再来验证下。我们把当前路径换到子模块下
├── 01test
│ ├── 001_test
│ └── mainmodule.py # 主模块
└── 02test # 当前目录
└── submodule.py # 被调用模块
结果如下:
main os.getcwd():/Users/stephen/Documents/code/test_dir/02test main sys.path[0]:/Users/stephen/Documents/code/test_dir/01test main sys.argv[0]:../01test/mainmodule.py main __file__:../01test/mainmodule.py sub os.getcwd():/Users/stephen/Documents/code/test_dir/02test sub sys.path[0]:/Users/stephen/Documents/code/test_dir/01test sub sys.argv[0]:../01test/mainmodule.py sub __file__:/Users/stephen/Documents/code/test_dir/02test/submodule.py
是不是觉得有问题?幸亏我们测试了
突然想起我我运行mainmodule用的相对路径
像这样:
$ python ../01test/mainmodule.py
然后__file__就是相对路径的,如果我们换成绝对路径呢?
$ python /Users/stephen/Documents/code/test_dir/01test/mainmodule.py
结果如下:
main os.getcwd():/Users/stephen/Documents/code/test_dir/02test main sys.path[0]:/Users/stephen/Documents/code/test_dir/01test main sys.argv[0]:/Users/stephen/Documents/code/test_dir/01test/mainmodule.py main __file__:/Users/stephen/Documents/code/test_dir/01test/mainmodule.py sub os.getcwd():/Users/stephen/Documents/code/test_dir/02test sub sys.path[0]:/Users/stephen/Documents/code/test_dir/01test sub sys.argv[0]:/Users/stephen/Documents/code/test_dir/01test/mainmodule.py sub __file__:/Users/stephen/Documents/code/test_dir/02test/submodule.py soga!
终于弄清楚了,突然有种小兴奋啊
总结一下:
os.getcwd() 指的是当前目录,绝对路径
sys.path[0] sys.path 指的是path,sys.path[0]为主模块目录的绝对路径,在模块运行的时候被自动添加进去
sys.argv[0] 就是你运行时 python 后面跟的参数
__file__ 表示所在模块文件的路径,和系统找到该模块的方式有关,你是用绝对路径去加载该模块,那么__file__就为绝对模块文件路径,如果你给系统提供相对路径去加载该模块,那么改文件路径为相对路径
以上这篇django正续或者倒序查库实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 中国武警男声合唱团《辉煌之声1天路》[DTS-WAV分轨]
- 紫薇《旧曲新韵》[320K/MP3][175.29MB]
- 紫薇《旧曲新韵》[FLAC/分轨][550.18MB]
- 周深《反深代词》[先听版][320K/MP3][72.71MB]
- 李佳薇.2024-会发光的【黑籁音乐】【FLAC分轨】
- 后弦.2012-很有爱【天浩盛世】【WAV+CUE】
- 林俊吉.2012-将你惜命命【美华】【WAV+CUE】
- 晓雅《分享》DTS-WAV
- 黑鸭子2008-飞歌[首版][WAV+CUE]
- 黄乙玲1989-水泼落地难收回[日本天龙版][WAV+CUE]
- 周深《反深代词》[先听版][FLAC/分轨][310.97MB]
- 姜育恒1984《什么时候·串起又散落》台湾复刻版[WAV+CUE][1G]
- 那英《如今》引进版[WAV+CUE][1G]
- 蔡幸娟.1991-真的让我爱你吗【飞碟】【WAV+CUE】
- 群星.2024-好团圆电视剧原声带【TME】【FLAC分轨】