PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

WYBIERZ w JSONField z Django

Odpowiedzią jest wyrażenie RawSQL;

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

Pierwszy argument RawSQL jest jak ciąg szablonu, drugi argument wypełni %s pierwszego

AKTUALIZACJA:najwyraźniej Django 2.1+ obsługuje teraz moje oryginalne oczekiwane zachowanie;

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. UTWÓRZ SCHEMAT, JEŚLI NIE ISTNIEJE, powoduje błąd zduplikowanego klucza

  2. Jak uruchomić PostgreSQL w systemie Windows?

  3. Problem z sortowaniem Postgres

  4. PostgreSQL 10 w systemie Linux — LC_COLLATE locale en_US.utf-8 niepoprawne

  5. Jak policzyć grupę według zapytania w NodeJS Sequelize