django正続または倒序ライブラリの例


DjangoのORDER_BYクエリーセット、昇順と降順
どう注文すればいいですか?私の問い合わせはDjangoで日付によって設定されますか?
Reserved.object s.all.filter(client=client_)アイドルby('check_)in
私はただ降りたいだけです。全部チェックします。in日付保持フィルタ。誰でもできるという考え?前もってお礼を言う
1.
Reserved.object s.all.filter(client=client_)アイドルby('-check_in
注意-前チェックinDjangoの
2.
Reserved.objeccts.filter(client=client_)アイドルby('-check_in
ハイフン「-」は「check_」にあります。in「前」は降順配列を表します。昇順は言うまでもない。
私たちはフィルタを使う前に追加したすべての()を使いません。これはまだ有効ですが、すべてのオブジェクトを追加する必要があります。
これについてはここです。
3.
その作業原理は除去されます。
.all()
:
Reserved.objeccts.filter(client=client_)アイドルby('-check_in
補足知識:os.getcwd()、sys.path[0]、sys.argv[0]と__file_の違い
これらの違いと使用条件をはっきり区別して、実際にテストするのが一番正確です。
設計試験方法:
メインモジュールを使用して実行します。サブモジュールはメインモジュールによって呼び出されます。
メインモジュールのパス:
/Users/stephen/Dcuments/code/test_dir/01 test
サブモジュールのパス:
/Users/stephen/Dcuments/code/test_dir/02 test
モジュールを実行するパス:
/Users/stephen/Dcuments/code/test_dir/01 test/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()
メインモジュールmanmodule.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()
ディレクトリ構造
├--01 test
├——001_test((zhi)運行目録
煥顫を夜る——manmodule.py钾主モジュール
test
一兆――submodule.py铅被呼モジュール
ok結果を見にきます

Traceback (most recent call last):
 File "../mainmodule.py", line 3, in <module>
 import submodule
ModuleNotFoundError: No module named 'submodule'
行ってきます。ちょっと調子が悪いです。
なぜかというと、システムはこのモジュールのパスが見つからないので、人工的にパスを追加します。
メインモジュールの前面に追加
sys.path.apped('/Users/stephen/Dockments/code/test_dir/02 test/')
また試してみます
結果は以下の通りです

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
ディレクトリの構成に合わせて見れば分かります。
├--01 test
├——001_test((zhi)運行目録
煥顫を夜る——manmodule.py钾主モジュール
test
一兆――submodule.py铅被呼モジュール
OS.getcwd()とは、プログラムを実行するディレクトリ(絶対パス)のことです。
sys.path[0]メインモジュールのディレクトリ(絶対パス)
sys.argv[0]モジュールを運転する場合、pyhttonの後ろのパラメータ
同前file_これはちょっとおかしいです。メインモジュールが表示している相対パスですが、モジュールが呼び出されて使う絶対パスです。
同前file_ちょっと疑問があって、Stck overflowに行きました。この言葉を見ました。
So,if you are outside the parts of sys.path that contains the module,You'll get an absoute path.If you are inside the part of sys.path 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の中にあります。相対パスが得られます。
上の結果に対して、該当する。
でも、私達はまた検証してみます。私たちは現在のパスをサブモジュールの下に変えます。
├--01 test
├——001_test
煥顫を夜る——manmodule.py钾主モジュール
铆――02 test钾カレントディレクトリ
一兆――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
問題があると思いますか?幸いにもテストしました。
急に思い出しました。私はメールで相対的なパスを実行します。
このように:
$python.//01 test/manmodule.py
そしてグウfile_相対パスです。もし私たちが絶対パスに変えたら?
$python/Users/stephen/Dcuments/code/test_dir/01 test/manmodule.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は継続していますか?それとも順序を変えて調べています。例は小編集が皆さんに提供した内容の全部です。参考にしてもらいたいです。どうぞよろしくお願いします。