Cara Menambah "NULLS LAST" pada Pertanyaan Django
Apabila mengisih data dalam PostgreSQL, adalah amalan biasa untuk menggunakan "NULLS LAST" untuk memastikan bahawa nilai nol diisih pada akhir keputusan. Pilihan ini tidak disokong secara langsung dalam API pertanyaan Django.
Penyelesaian
Parameter nulls_last=True boleh digunakan dengan Expression.desc() untuk mengawal susunan null nilai. Berikut ialah contoh:
from django.db.models import F MyModel.objects.all().order_by(F('price').desc(nulls_last=True))
Sintaks ini telah tersedia sejak Django 1.11.
Maklumat Tambahan
Dokumen mengesyorkan menggunakan Expression.asc( ) atau Expression.desc() dengan parameter nulls_last yang sesuai dan bukannya extra() dengan legasi order_by syntax.
Untuk Django 3.1 dan ke atas, rujuk dokumentasi rasmi untuk mendapatkan maklumat lanjut:
https://docs.djangoproject.com/en/3.1/ref/models/expressions/ #menggunakan-f-to-sort-null-values
Atas ialah kandungan terperinci Bagaimana Mengisih Nilai NULL Terakhir dalam Pertanyaan Django dengan PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!