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 相关文章推荐
Python处理XML格式数据的方法详解
Mar 21 Python
Python使用回溯法子集树模板获取最长公共子序列(LCS)的方法
Sep 08 Python
浅谈Tensorflow模型的保存与恢复加载
Apr 26 Python
python自动化之Ansible的安装教程
Jun 13 Python
python实现BP神经网络回归预测模型
Aug 09 Python
python进程池实现的多进程文件夹copy器完整示例
Nov 27 Python
使用Python paramiko模块利用多线程实现ssh并发执行操作
Dec 05 Python
在python中利用try..except来代替if..else的用法
Dec 19 Python
解决pytorch多GPU训练保存的模型,在单GPU环境下加载出错问题
Jun 23 Python
python 删除excel表格重复行,数据预处理操作
Jul 06 Python
详解python对象之间的交互
Sep 29 Python
深度学习小工程练习之垃圾分类详解
Apr 14 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
php实现生成带二维码图片并强制下载功能
2018/02/24 PHP
PHP设计模式之单例模式定义与用法分析
2019/03/26 PHP
js 中{},[]中括号,大括号使用详解
2011/05/12 Javascript
JavaScript中去掉数组中的重复值的实现方法
2011/08/03 Javascript
Javascript查询DBpedia小应用实例学习
2013/03/07 Javascript
解析jquery获取父窗口的元素
2013/06/26 Javascript
完美解决AJAX跨域问题
2013/11/01 Javascript
Javascript实现返回上一页面并刷新的小例子
2013/12/11 Javascript
使用Raygun对Node.js应用进行错误处理的方法
2015/06/23 Javascript
javascript常用经典算法详解
2017/01/11 Javascript
详解Jquery EasyUI tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)
2017/02/11 Javascript
借助node实战JSONP跨域实例
2017/03/30 Javascript
Vue组件通信之Bus的具体使用
2017/12/28 Javascript
VUE2.0中Jsonp的使用方法
2018/05/22 Javascript
Bootstrap模态对话框中显示动态内容的方法
2018/08/10 Javascript
在Bootstrap开发框架中使用dataTable直接录入表格行数据的方法
2018/10/25 Javascript
vue中使用v-model完成组件间的通信
2019/08/22 Javascript
解决layui的input独占一行的问题
2019/09/10 Javascript
基于redis的小程序登录实现方法流程分析
2020/05/25 Javascript
详解duck typing鸭子类型程序设计与Python的实现示例
2016/06/03 Python
NLTK 3.2.4 环境搭建教程
2018/09/19 Python
[原创]Python入门教程3. 列表基本操作【定义、运算、常用函数】
2018/10/30 Python
DataFrame.to_excel多次写入不同Sheet的实例
2019/12/02 Python
Python实现计算长方形面积(带参数函数demo)
2020/01/18 Python
基于Python数据结构之递归与回溯搜索
2020/02/26 Python
keras-siamese用自己的数据集实现详解
2020/06/10 Python
python 读取、写入txt文件的示例
2020/09/27 Python
Django filter动态过滤与排序实现过程解析
2020/11/26 Python
Europcar西班牙:全球汽车租赁领域的领导者
2018/09/17 全球购物
Stio官网:男女、儿童户外服装
2019/12/13 全球购物
销售人员求职信
2014/07/22 职场文书
党员“四风”方面存在问题及整改措施
2014/09/24 职场文书
井冈山红色之旅感想
2014/10/07 职场文书
实习工作表现评语
2014/12/31 职场文书
浅谈Python数学建模之整数规划
2021/06/23 Python
mysql性能优化以及配置连接参数设置
2022/05/06 MySQL