ホームページ >データベース >mysql チュートリアル >PostgreSQL を使用した Django クエリで NULL 値を最後にソートするにはどうすればよいですか?

PostgreSQL を使用した Django クエリで NULL 値を最後にソートするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-29 14:19:18419ブラウズ

How to Sort NULL Values Last in Django Queries with PostgreSQL?

Django クエリに「NULLS LAST」を追加する方法

PostgreSQL でデータを並べ替えるときは、「NULLS LAST」を使用するのが一般的ですLAST」オプションを使用すると、Null 値が結果の最後でソートされるようになります。このオプションは、Django のクエリ API では直接サポートされていません。

ソリューション

nulls_last=True パラメータを Expression.desc() で使用して、null の順序を制御できます。価値観。以下に例を示します。

from django.db.models import F

MyModel.objects.all().order_by(F('price').desc(nulls_last=True))

この構文は Django 1.11 以降で利用可能です。

追加情報

ドキュメントでは Expression.asc( ) または、従来の extra() の代わりに適切な nulls_last パラメータを指定した Expression.desc() order_by 構文。

Django 3.1 以降の詳細については、公式ドキュメントを参照してください:

https://docs.djangoproject.com/en/3.1/ref/models/expressions/ #f を使用して null 値を並べ替える

以上がPostgreSQL を使用した Django クエリで NULL 値を最後にソートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。