PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Penyortiran kumpulan kueri:Menentukan susunan kolom untuk kueri Django ORM

Sejak Django 1.8 order_by() menerima tidak hanya nama bidang tetapi juga ekspresi kueri .

Dalam jawaban lain Saya memberikan contoh bagaimana Anda dapat mengganti susunan default untuk sebuah kolom. Ekspresi kueri yang berguna di sini adalah Func() , yang dapat Anda subkelas atau gunakan secara langsung:

nimi_et = Func(
    'nimi',
    function='et_EE',
    template='(%(expressions)s) COLLATE "%(function)s"')
Test.objects.order_by(nimi_et.asc())

Namun, perhatikan bahwa SQL yang dihasilkan akan lebih seperti:

SELECT nimi FROM test ORDER BY nimi COLLATE "et_EE" ASC;

Artinya, susunan ditimpa dalam ORDER BY klausa daripada di SELECT ayat. Namun, jika Anda perlu menggunakannya dalam WHERE klausa, Anda dapat menggunakan Func() di annotate() .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara mengatur skema di pg-promise

  2. pagination dan filtering pada tabel yang sangat besar di postgresql (keyset pagination?)

  3. Tentang manfaat jalur yang diurutkan

  4. Postgres 9.4 jsonb array sebagai tabel

  5. Menghubungkan postgresql dengan sqlalchemy