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

Django JSONField filtering

Selon la documentation Django JSONField, il explique que les data la structure correspond au format natif Python, avec une approche légèrement différente lors de l'interrogation.

Si vous connaissez la structure du JSON, vous pouvez également filtrer les clés comme s'il s'agissait de champs liés :

object.filter(data__animal='cat')
object.filter(data__name='tom')

Par accès au tableau :

object.filter(data__0__animal='cat')

Votre exemple contient est presque correct, mais vos données sont dans une liste et nécessitent :

object.filter(data__contains=[{'animal': 'cat'}])