У меня есть поле Postgres JSONB с несколькими вложенными массивами и другими объектами.
from sqlalchemy.dialects.postgresql import JSONB
class Family(db.Model):
meta = db.Column(JSONB)
joes = Family(meta=[
{
"name": "Joe",
"children": [
{
"name": "Jane"
},
{
"name": "Kate"
}
]
},
{
"name": "Lisa",
"children": [
{
"name": "Mary"
},
{
"name": "David"
}
]
},
])
Есть ли способ запросить всех детей с определенной подстрокой в их именах?
Если я захочу запросить 'a'
, я получу Mary, David, Kate, Jane
.
Я думал, может быть, что-то вроде
Family.query.filter(
Family.meta.contains([{"children": [{"name": func.contains("a")}]}])
)