django正续或者倒序查库实例


Posted in Python onMay 19, 2020

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正续或者倒序查库实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
linux系统使用python获取cpu信息脚本分享
Jan 15 Python
python实现给字典添加条目的方法
Sep 25 Python
Python统计python文件中代码,注释及空白对应的行数示例【测试可用】
Jul 25 Python
python使用Matplotlib绘制分段函数
Sep 25 Python
python实现感知器算法(批处理)
Jan 18 Python
初次部署django+gunicorn+nginx的方法步骤
Sep 11 Python
Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法
Sep 17 Python
python实现翻译word表格小程序
Feb 27 Python
Python短信轰炸的代码
Mar 25 Python
利用python生成照片墙的示例代码
Apr 09 Python
Django def clean()函数对表单中的数据进行验证操作
Jul 09 Python
python中字符串的编码与解码详析
Dec 03 Python
Django model.py表单设置默认值允许为空的操作
May 19 #Python
django 模型中的计算字段实例
May 19 #Python
Django获取model中的字段名和字段的verbose_name方式
May 19 #Python
Python日志处理模块logging用法解析
May 19 #Python
基于PyQT实现区分左键双击和单击
May 19 #Python
Python更换pip源方法过程解析
May 19 #Python
解决Django Haystack全文检索为空的问题
May 19 #Python
You might like
神族 Protoss 剧情介绍
2020/03/14 星际争霸
一些需要禁用的PHP危险函数(disable_functions)
2012/02/23 PHP
Prototype使用指南之selector.js说明
2008/10/26 Javascript
6个DIV 135或246间隔一秒轮番显示效果
2010/07/24 Javascript
JavaScript随机排序(随即出牌)
2010/09/17 Javascript
原生Ajax 和jQuery Ajax的区别示例分析
2014/12/17 Javascript
jQuery中[attribute=value]选择器用法实例
2014/12/31 Javascript
解析javascript中鼠标滚轮事件
2015/05/26 Javascript
javascript拖拽应用实例
2016/03/25 Javascript
js计算系统当前日期是星期几的方法
2016/07/14 Javascript
使用JQuery选择HTML遍历函数的方法
2016/09/17 Javascript
js放到head中失效的原因与解决方法
2017/03/07 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
2017/08/15 jQuery
Vue.js实现按钮的动态绑定效果及实现代码
2017/08/21 Javascript
使用vue-cli脚手架工具搭建vue-webpack项目
2019/01/14 Javascript
Vue中props的详解
2019/05/16 Javascript
javascript实现的字符串转换成数组操作示例
2019/06/13 Javascript
[00:12]2018DOTA2亚洲邀请赛 Sccc亮相SOLO赛,今年他又会有什么样的战绩?
2018/04/06 DOTA
Python Web框架Tornado运行和部署
2020/10/19 Python
对Python3中的input函数详解
2018/04/22 Python
python读取TXT每行,并存到LIST中的方法
2018/10/26 Python
Python实现的服务器示例小结【单进程、多进程、多线程、非阻塞式】
2019/05/23 Python
如何利用Python开发一个简单的猜数字游戏
2019/09/22 Python
Python基于Dlib的人脸识别系统的实现
2020/02/26 Python
浅谈TensorFlow中读取图像数据的三种方式
2020/06/30 Python
Python实现爬取网页中动态加载的数据
2020/08/17 Python
HTML5所有标签汇总及标签意义解释
2015/03/12 HTML / CSS
波兰快递服务:Globkurier.pl
2019/11/08 全球购物
J2EE中常用的名词进行解释
2015/11/09 面试题
工程业务员工作职责
2013/12/07 职场文书
秋季运动会广播稿大全
2014/02/17 职场文书
电工工作职责范本
2014/02/22 职场文书
迎国庆横幅标语
2014/10/08 职场文书
乡镇民主生活会发言材料
2014/10/20 职场文书
学习经验交流会策划书
2015/11/02 职场文书
利用Redis实现点赞功能的示例代码
2022/06/28 Redis