PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

SELECT sur JSONField avec Django

La réponse est une expression RawSQL;

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

Le premier argument de RawSQL est comme une chaîne de modèle, le deuxième argument remplira le %s du premier

MISE À JOUR :apparemment, Django 2.1+ prend désormais en charge mon comportement initial attendu ;

queryset.values('jsonfield__key_name')