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

sqlalchemy, filtern Sie eine JSON-Spalte, die ein Array enthält

In PostgreSQL mit JSONB Sie können die Containment-Prüfung verwenden:

dict = {"telephones": [{"telephone": "54435345"}]}
user = cls.query.filter(your_table.contact_info.contains(dict)).first()

In MySQL es könnte möglich sein, func zu verwenden .json_contains :

(Sie müssen es anpassen und ausprobieren, sicherlich die MySQL-Methode, aber wahrscheinlich auch die PostgreSQL-Methode)