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正续或者倒序查库实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
django,正续,倒序,查库
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 伍佰.2002-冬之火九重天演唱会特选录音专辑2CD【滚石】【WAV+CUE】
- 李宗盛1996《李宗盛的凡人歌2CD》滚石[WAV+CUE][1G]
- 刘德华 《天意》1:1直刻黑胶LPCD[WAV+CUE][1.1G]
- 刘德丽2024《赤的疑惑HQCD》头版限量编号MQA[低速原抓WAV+CUE]
- 英雄联盟万圣节有什么皮肤返场 2024万圣节皮肤返场一览
- lol万圣节赠礼活动什么时候开始 2024万圣节活动时间介绍
- 2024全球总决赛blg是全华班吗 全球总决赛blg选手所属国家介绍
- 《LOL》S14半决赛:T1战胜GEN晋级决赛!对决BLG
- 《完蛋美女前传》白白演员抱怨:都没人玩我的线
- 玩家热议OLED屏对画面提升巨大:比PS5 Pro值得买
- PatriciaPaay-TheLadyIsAChamp(ExpandedEdition)(2024)[24Bit-96kHz]FLAC
- 尚士达.2024-莫回头【智慧小狗】【DTS-WAV分轨】
- 区瑞强-黄金时代HQCDII头版限量wav
- 孙露《终于等到你》[WAV分轨][488M]
- 张信哲《歌时代》 潮水音乐 [WAV+CUE]