Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengisih Rekod Pangkalan Data dengan NULLS LAST dalam Django?

Bagaimana untuk Mengisih Rekod Pangkalan Data dengan NULLS LAST dalam Django?

Susan Sarandon
Susan Sarandonasal
2024-12-28 15:27:26689semak imbas

How to Sort Database Records with NULLS LAST in Django?

Django: Melaksanakan Pengisihan "NULLS LAST"

Apabila mengisih rekod pangkalan data dengan PostgreSQL, mungkin terdapat keperluan untuk menentukan tingkah laku pengisihan bagi nilai nol. PostgreSQL menawarkan pilihan "NULLS LAST" untuk meletakkan nilai nol pada penghujung hasil yang diisih.

Pertanyaan dengan "NULLS LAST" dalam Django

Untuk mencapai ini dalam Django, anda boleh menggunakan kaedah Expression.asc() atau Expression.desc(). Walau bagaimanapun, pilihan "NULLS LAST" tidak disokong dalam versi Django sebelum 1.11.

Penyelesaian untuk Django 1.11 dan Kemudian

Untuk Django versi 1.11 dan kemudian, anda boleh menggunakan kod berikut:

from django.db.models import F

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

The Ungkapan F('price').desc(nulls_last=True) mengisih harga dalam tertib menurun, memastikan nilai nol muncul pada penghujung.

Rujukan

Untuk maklumat lanjut:

  • Rujukan Ungkapan Django 3.1: [Django Dokumentasi](https://docs.djangoproject.com/en/3.1/ref/models/expressions/#using-f-to-sort-null-values)
  • Nota Keluaran Django 1.11: [Django Dokumentasi](https://docs.djangoproject.com/en/dev/releases/1.11/)

Atas ialah kandungan terperinci Bagaimana untuk Mengisih Rekod Pangkalan Data dengan NULLS LAST dalam Django?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn