亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

django正續或者倒序查庫實例

瀏覽:69日期:2024-10-03 18:21:22

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 osimport sysdef 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 osimport sysimport submoduledef 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 submoduleModuleNotFoundError: 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_testmain sys.path[0]:/Users/stephen/Documents/code/test_dir/01testmain sys.argv[0]:../mainmodule.pymain __file__:../mainmodule.pysub os.getcwd():/Users/stephen/Documents/code/test_dir/01test/001_testsub sys.path[0]:/Users/stephen/Documents/code/test_dir/01testsub sys.argv[0]:../mainmodule.pysub __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/02testmain sys.path[0]:/Users/stephen/Documents/code/test_dir/01testmain sys.argv[0]:../01test/mainmodule.pymain __file__:../01test/mainmodule.pysub os.getcwd():/Users/stephen/Documents/code/test_dir/02testsub sys.path[0]:/Users/stephen/Documents/code/test_dir/01testsub sys.argv[0]:../01test/mainmodule.pysub __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/02testmain sys.path[0]:/Users/stephen/Documents/code/test_dir/01testmain sys.argv[0]:/Users/stephen/Documents/code/test_dir/01test/mainmodule.pymain __file__:/Users/stephen/Documents/code/test_dir/01test/mainmodule.pysub os.getcwd():/Users/stephen/Documents/code/test_dir/02testsub sys.path[0]:/Users/stephen/Documents/code/test_dir/01testsub sys.argv[0]:/Users/stephen/Documents/code/test_dir/01test/mainmodule.pysub __file__:/Users/stephen/Documents/code/test_dir/02test/submodule.pysoga!

終于弄清楚了,突然有種小興奮啊

總結一下:

os.getcwd() 指的是當前目錄,絕對路徑

sys.path[0] sys.path 指的是path,sys.path[0]為主模塊目錄的絕對路徑,在模塊運行的時候被自動添加進去

sys.argv[0] 就是你運行時 python 后面跟的參數

__file__ 表示所在模塊文件的路徑,和系統找到該模塊的方式有關,你是用絕對路徑去加載該模塊,那么__file__就為絕對模塊文件路徑,如果你給系統提供相對路徑去加載該模塊,那么改文件路徑為相對路徑

以上這篇django正續或者倒序查庫實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Django
相關文章:
主站蜘蛛池模板: 欧美日本色 | 欧美成人 综合网播九公社 欧美成人26uuu欧美毛片 | 久久久久久久免费 | 在线视频免费观看a毛片 | 亚洲一级免费毛片 | 中文字幕一区二区三区有限公司 | www.欧美xxxx| 欧美日本韩国一区 | 日韩精品视频免费在线观看 | 国产精品视频久久久久久 | 韩国三级日本三级香港三级黄 | 日韩国产欧美成人一区二区影院 | 免费国产a国产片高清不卡 免费国产不卡午夜福在线 免费国产不卡午夜福在线观看 | 亚洲黄色官网 | 成人国产第一区在线观看 | 国产日韩亚洲欧美 | 国产福利拍拍拍 | 日本人一级毛片免费视频 | 久久亚洲精品中文字幕 | 亚洲天堂黄 | 特色一级片| 免费真实播放国产乱子伦 | 免费国产一区二区在免费观看 | 亚洲精品第五页 | 日韩欧美视频一区二区三区 | 黄色一级毛片免费 | 男人在线天堂 | 久爱综合| 在线欧美不卡 | 日韩欧美亚洲中字幕在线播放 | 久久久久久91精品色婷婷 | 色综合久久91 | 欧美性色生活免费观看 | 欧美一级片 在线播放 | 国产精品二区高清在线 | 国产精品李雅在线观看 | 欧美精品1 | 激情一区二区三区成人 | a毛片成人免费全部播放 | 免费刺激视频 | 末成年娇小性色xxxxx |