sql >> Base de Datos >  >> RDS >> PostgreSQL

SELECCIONAR en JSONField con Django

La respuesta es una expresión RawSQL;

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

El primer argumento de RawSQL es como una cadena de plantilla, el segundo argumento completará el %s del primero

ACTUALIZACIÓN:aparentemente Django 2.1+ ahora es compatible con mi comportamiento esperado original;

queryset.values('jsonfield__key_name')