Djangoクエリセットの結果の順序

KindOfGuy

クエリセットが正しい順序で返される理由を理解するのに問題があります。記事の著者がリストされており、それらは次のようなManyToManyテーブルに保存されます。articlepage_authors

記事ごとに、返品および表示される順序を選択できる必要があります。

たとえば、ID 44918の記事には、著者13752( 'Lee Bodding')と13751( 'Mark Lee')があります。

私はこれらをシェルで呼び出しました:

Out[6]: <QuerySet [<User: Mark Lee ([email protected])>, <User: Lee Bodding ([email protected])>]>

postgresでこれを呼び出す: SELECT * FROM articlepage_authors;

は、ユーザーLee Bodding id=13752が最初にテーブルに格納されていることを示しています。

id  | articlepage_id | user_id
-----+----------------+---------
   1 |          44508 |    7781
   2 |          44508 |    7775
   3 |          44514 |   17240
….
 465 |          44916 |   17171
 468 |          44918 |   13752
 469 |          44918 |   13751

著者の削除、「Lee Bodding」の追加、記事の保存、「Mark Lee」の追加、またはその逆など、何をしようとしても、最初に「MarkLee」を返すクエリセットしか取得できません。

これをデバッグする他の方法がわかりません。

1つの解決策は、作成者の順序を定義する別のフィールドを追加することですが、最初にここで何が起こっているのかを理解したいと思います。何かがすでに順序を定義しているようです、そしてそれを管理する方が良いでしょう。

2ps

クエリセットに追加order_byて、レコードを希望の順序で表示することができます。警告:クエリの最適化では、データベースによってはパフォーマンス上の理由から、そのフィールドにインデックスを作成する必要がある場合があります。

デフォルトでは、aによって返される結果は、モデルののオプションでQuerySet指定された順序タプルによって順序付けられorderingますMetaこのメソッドQuerySetを使用して、これを個別にオーバーライドできますorder_by例:

Entry.objects.filter(pub_date__year=2005).order_by('-pub_date', 'headline')

上記の結果は、pub_date降順、headline昇順の順に並べられます。の前の負の記号"-pub_date"は降順示します。昇順が暗示されます。

あなたはそれを多対多IDで注文するエクストラとペアにします

.extra(select={
    'creation_seq': 'articlepage_authors.id'
}).order_by("creation_seq")

django> 1.10を使用している場合は、extraなしでフィールドを直接使用できます

.order_by('articlepage_authors.id')

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Djangoクエリセットの結果

クエリ結果の列の順序

結果セットの順序

Djangoでクエリセットの順序を逆にする

djangoで2つのクエリセットを結合しますが、順序は維持しますか?

2 つの結合の結果セットの順序付け

フィールド別のDjangoクエリセットの順序

MySQLクエリの結果の順序付け(結合を使用)

Djangoクエリセットの差分メソッドが順序を失う

Djangoクエリセットの自然順

内部クエリからの順序を維持するか、内部クエリデータセットに基づいて結果を並べ替えます

AtTaskAPIのレポートクエリでの結果の順序付け

順序付きクエリセット用のDjangoクエリセットイテレータ

djangoクエリセットでキーの順序を並べ替える

Djangoで特定の順序でクエリセットを構築する方法

前のクエリの結果セットのクエリ

Mongo2.6クエリ結果の順序

START WITH LPADSQLクエリで結果の順序を逆にする

ElasticSearch-単純なリクエストと集計リクエスト(NEST)の異なる結果の順序

bashスクリプトのMysqlクエリ結果セット

Django-クエリセットの結果内でManyToManyFieldを注文する

Djangoがクエリセットの結果にフィールドを追加

クエリの結果による順序付け/ Mysqlサブクエリ

JSONFieldのプロパティを使用したDjangoクエリセットの順序付け

'空の結果セットを返す'へのMongoDBクエリ

Dapperクエリ複数の空白の結果セット

where句で指定されたクエリの結果の順序付け

Hive SELECT *クエリの結果の順序を予測できますか?

where句で指定されたクエリの結果の順序付け

TOP 一覧

  1. 1

    Unity:未知のスクリプトをGameObject(カスタムエディター)に動的にアタッチする方法

  2. 2

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  3. 3

    Ansibleで複数行のシェルスクリプトを実行する方法

  4. 4

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  5. 5

    Crashlytics:コンパイラー生成とはどういう意味ですか?

  6. 6

    GoDaddyでのCKEditorとKCfinderの画像プレビュー

  7. 7

    Windows 10 Pro 1709を1803、1809、または1903に更新しますか?

  8. 8

    Chromeウェブアプリのウェブビューの高さの問題

  9. 9

    モーダルダイアログを自動的に閉じる-サーバーコードが完了したら、Googleスプレッドシートのダイアログを閉じます

  10. 10

    Windows 10の起動時間:以前は20秒でしたが、現在は6〜8倍になっています

  11. 11

    Reactでclsxを使用する方法

  12. 12

    ファイル内の2つのマーカー間のテキストを、別のファイルのテキストのセクションに置き換えるにはどうすればよいですか?

  13. 13

    MLでのデータ前処理の背後にある直感

  14. 14

    グラフからテーブルに条件付き書式を適用するにはどうすればよいですか?

  15. 15

    Pythonを使用して同じ列の同じ値の間の時差を取得する方法

  16. 16

    mutate_allとifelseを組み合わせるにはどうすればよいですか

  17. 17

    ネットワークグラフで、ネットワークコンポーネントにカーソルを合わせたときに、それらを強調表示するにはどうすればよいですか?

  18. 18

    テキストフィールドの値に基づいて UIslider を移動します

  19. 19

    BLOBストレージからデータを読み取り、Azure関数アプリを使用してデータにアクセスする方法

  20. 20

    PowerShellの分割ファイルへのヘッダーの追加

  21. 21

    ソートされた検索、ターゲット値未満の数をカウント

ホットタグ

アーカイブ