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:
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!