[解決済み] クエリセットをソートする良い方法とは - Django
2022-05-08 14:48:12
質問
私がやろうとしていることは、こういうことです。
-
30人の作家を最高得点で獲得する(
Author.objects.order_by('-score')[:30]
) -
で著者を注文してください。
last_name
何か提案はありますか?
どのように解決するのですか?
についてはどうですか?
import operator
auths = Author.objects.order_by('-score')[:30]
ordered = sorted(auths, key=operator.attrgetter('last_name'))
Django 1.4 以降では、複数のフィールドを提供することで注文できます。
参考
https://docs.djangoproject.com/en/dev/ref/models/querysets/#order-by
order_by(*fields)
デフォルトでは
QuerySet
で指定された順序付けタプルで並べられます。
ordering
オプションを指定します。これをクエリセットごとにオーバーライドするには、モデルメタの
order_by
メソッドを使用します。
例
ordered_authors = Author.objects.order_by('-score', 'last_name')[:30]
上記の結果は、次の順序で並べられます。
score
が降順、次に
last_name
を昇順にします。の前にある負の符号は
"-score"
は降順であることを示します。昇順は暗黙の了解です。
関連
-
[解決済み】csv.Error:イテレータはバイトではなく文字列を返すべき
-
[解決済み】インポートエラー。モジュール名 urllib2 がない
-
[解決済み】Djangoのクエリセットフィルタリングでnot equalを行うにはどうすればよいですか?
-
[解決済み] 関数デコレータを作成し、それらを連鎖させるには?
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] バイトを文字列に変換する
-
[解決済み] モジュールの関数名(文字列)を使って、モジュールの関数を呼び出す。
-
[解決済み] Pandas DataFrameの行数を取得する方法は?
-
[解決済み】Djangoでnull=Trueとblank=Trueの違いは何ですか?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PicgoのイメージベッドツールをPythonで実装する
-
Pythonショートビデオクローラーチュートリアル
-
FacebookオープンソースワンストップサービスpythonのタイミングツールKats詳細
-
[解決済み】Python regex AttributeError: 'NoneType' オブジェクトに 'group' 属性がない。
-
[解決済み】なぜ「LinAlgError: Grangercausalitytestsから「Singular matrix」と表示されるのはなぜですか?
-
[解決済み】 NameError: グローバル名 'xrange' は Python 3 で定義されていません。
-
[解決済み】終了コード -1073741515 (0xC0000135)でプロセス終了)
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。
-
[解決済み】Python elifの構文が無効です【終了しました
-
[解決済み】django インポートエラー - core.managementという名前のモジュールがない