PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

SELECT auf JSONField mit Django

Die Antwort ist ein RawSQL-Ausdruck;

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

Das erste Argument für RawSQL ist wie ein Template-String, das zweite Argument füllt den %s des ersten

UPDATE:Anscheinend unterstützt Django 2.1+ jetzt mein ursprünglich erwartetes Verhalten;

queryset.values('jsonfield__key_name')