ArrayField
Djangoでを使用したいと思っていますが、このフィールドが挿入の順序を保持しているかどうか疑問に思いました。したがって、たとえば、リストを挿入すると、次のようになります。
["stackoverflow", "is", "awesome"]
これを取得するときに、まったく同じ順序にしたいのpkid
ですが。
私はdjangoのドキュメントを見回しましたが、挿入順序を保持することについての言及がないため、私の質問があります。誰かが私をこのためのdjangoドキュメントにリンクできれば素晴らしいと思います。
PS:JSONFieldは順序を保持しないため、ArrayFieldを調べていると思います。
Djangoのドキュメントはと言うArrayField
です
データのリストを保存するためのフィールド
ここで説明するように、Pythonlist
コンストラクターは順序を保持します。
コンストラクターは、アイテムがiterableのアイテムと同じで同じ順序のリストを作成します
最後に、配列のpostgresqlドキュメントを見ると、順序は明示的には言及されていませんが、例から、インデックスに格納されている値はi
、取得時に常に同じインデックスで見つかることが明らかです。すべてのプログラミング言語で、配列(Pythonではリストと呼ばれます)が要素の順序を保持しているため、おそらく言及されていません:-)
したがって、基本的に、モデルのフィールドを割り当ててlist
dbに書き込むと、それを取得したときに、同じlist
、つまり要素の順序が保持された状態で確実に取得できます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加