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标准库中的wave模块绘制乐谱的简单教程
Mar 30 Python
使用Python实现一个简单的项目监控
Mar 31 Python
python实现支付宝当面付(扫码支付)功能
May 30 Python
Python通过TensorFlow卷积神经网络实现猫狗识别
Mar 14 Python
python3+opencv生成不规则黑白mask实例
Feb 19 Python
Pytorch对Himmelblau函数的优化详解
Feb 29 Python
Python能做什么
Jun 02 Python
利用python下载scihub成文献为PDF操作
Jul 09 Python
如何用Anaconda搭建虚拟环境并创建Django项目
Aug 02 Python
python调用摄像头的示例代码
Sep 28 Python
python程序实现BTC(比特币)挖矿的完整代码
Jan 20 Python
Python 数据可视化之Seaborn详解
Nov 02 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(1)
2006/10/09 PHP
PHP发明人谈MVC和网站设计架构 貌似他不支持php用mvc
2011/06/04 PHP
php获取数组长度的方法(有实例)
2013/10/27 PHP
百度地图经纬度转换到腾讯地图/Google 对应的经纬度
2015/08/28 PHP
解决tp5在nginx下修改配置访问的问题
2019/10/16 PHP
PHP 范围解析操作符(::)用法分析【访问静态成员和类常量】
2020/04/14 PHP
js post方式传递提交的实现代码
2010/05/31 Javascript
javascript学习笔记(六) Date 日期类型
2012/06/19 Javascript
JS中判断JSON数据是否存在某字段的方法
2014/03/07 Javascript
node.js中的fs.rmdir方法使用说明
2014/12/16 Javascript
JS创建事件的三种方法(实例代码)
2016/05/12 Javascript
详解JavaScript设计模式开发中的桥接模式使用
2016/05/18 Javascript
AngularJS 路由和模板实例及路由地址简化方法(必看)
2016/06/24 Javascript
通过JS和PHP两种方法判断用户请求时使用的浏览器类型
2016/09/01 Javascript
使用 Node.js 对文本内容分词和关键词抽取
2017/05/27 Javascript
基于 Vue.js 2.0 酷炫自适应背景视频登录页面实现方式
2018/01/17 Javascript
vue 页面加载进度条组件实例
2018/02/05 Javascript
Vue CLI 3.x 自动部署项目至服务器的方法
2019/04/02 Javascript
k8s node节点重新加入master集群的实现
2021/02/22 Javascript
Python实现删除文件但保留指定文件
2015/06/21 Python
python提取字典key列表的方法
2015/07/11 Python
Python的条件语句与运算符优先级详解
2015/10/13 Python
Python OpenCV读取显示视频的方法示例
2020/02/20 Python
浅析css3中matrix函数的使用
2016/06/06 HTML / CSS
澳大利亚家具和家居用品在线商店:Interiors Online
2018/03/05 全球购物
大二法学专业职业生涯规划范文
2014/02/12 职场文书
董事长助理岗位职责
2014/02/18 职场文书
弘扬民族精神演讲稿
2014/05/07 职场文书
小学教师个人先进事迹材料
2014/05/17 职场文书
党代会心得体会
2014/09/04 职场文书
中学生旷课检讨书2篇
2014/10/09 职场文书
大学生实习介绍信
2015/05/05 职场文书
父母教会我观后感
2015/06/17 职场文书
重阳节简报
2015/07/20 职场文书
2016创先争优活动党员公开承诺书
2016/03/24 职场文书
Python趣味挑战之用pygame实现简单的金币旋转效果
2021/05/31 Python