PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Sắp xếp bộ truy vấn:Chỉ định đối chiếu cột cho truy vấn ORM django

Kể từ Django 1.8 order_by() không chỉ chấp nhận tên trường mà còn cả biểu thức truy vấn .

Trong một câu trả lời khác Tôi đã đưa ra một ví dụ về cách bạn có thể ghi đè đối chiếu mặc định cho một cột. Biểu thức truy vấn hữu ích ở đây là Func () , mà bạn có thể phân lớp hoặc sử dụng trực tiếp:

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

Tuy nhiên, lưu ý rằng SQL kết quả sẽ giống như sau:

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

Nghĩa là, đối chiếu được ghi đè trong ORDER BY chứ không phải trong SELECT mệnh đề. Tuy nhiên, nếu bạn cần sử dụng nó trong WHERE , bạn có thể sử dụng Func() trong 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. Sửa các lỗ hổng / khoảng trống trong số được tạo bởi chuỗi Postgres

  2. JDBC COPY với kiến

  3. C # SqlConnection Exception:Từ khoá không được hỗ trợ 'Cổng'

  4. Tự động hóa các công việc hàng ngày của PostgreSQL bằng Jenkins

  5. Làm thế nào để đọc tất cả các hàng từ bảng lớn?