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

Django JSONField-Filterung

Gemäß der Django JSONField-Dokumentation wird erklärt, dass die data Die Struktur stimmt mit dem nativen Python-Format überein, mit einem etwas anderen Ansatz bei der Abfrage.

Wenn Sie die Struktur des JSON kennen, können Sie auch nach Schlüsseln filtern, als wären es verwandte Felder:

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

Durch Array-Zugriff:

object.filter(data__0__animal='cat')

Ihr Enthält-Beispiel ist fast korrekt, aber Ihre Daten befinden sich in einer Liste und erfordern:

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