In PostgreSQL con JSONB puoi utilizzare il controllo di contenimento:
dict = {"telephones": [{"telephone": "54435345"}]}
user = cls.query.filter(your_table.contact_info.contains(dict)).first()
In MySQL
potrebbe essere possibile utilizzare func
.json_contains
:
(è necessario adattarlo e provarlo, sicuramente in modo MySQL, ma probabilmente anche in PostgreSQL)