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

CHỌN trên JSONField với Django

Câu trả lời là một biểu thức RawSQL;

queryset.annotate(value = RawSQL("(jsonfield->%s)", ('key_name',)))
queryset.values('value')

Đối số đầu tiên cho RawSQL giống như một chuỗi mẫu, đối số thứ hai sẽ điền vào %s của đối số đầu tiên

CẬP NHẬT:rõ ràng Django 2.1+ hiện hỗ trợ hành vi mong đợi ban đầu của tôi;

queryset.values('jsonfield__key_name') 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chuyển đổi mối quan hệ nhiều-nhiều thành một-nhiều trong PostgreSQL

  2. SQL:truy vấn con có quá nhiều cột

  3. PostgreSQL - INNER THAM GIA hai bảng với GIỚI HẠN

  4. So sánh các mảng cho bằng nhau, bỏ qua thứ tự của các phần tử

  5. Mật khẩu mặc định cho người dùng của tôi trong postgresql