Dans PostgreSQL avec JSONB vous pouvez utiliser le contrôle de confinement :
dict = {"telephones": [{"telephone": "54435345"}]}
user = cls.query.filter(your_table.contact_info.contains(dict)).first()
Dans MySQL
il pourrait être possible d'utiliser func
.json_contains
:
(vous devez l'adapter et l'essayer, certainement à la manière MySQL, mais probablement aussi à la manière PostgreSQL)