Как сделать выборку по булевому значениею в JSONB с помощью SQLAlchemy

У модели User есть поле attributes, класса JSONB:

class User(Model):
    # Тут всякие разные поля
    attributes = Column('attributes', postgresql.JSONB)
    my_prop = JSONBColumnProxy(attributes, 'my_prop', default=False)

Мне нужно выбрать все id юзеров, у которых my_prop == True. Пробую сделать это так, получаю пустой список:

my_props_ids = self._db_session.query(User.id) \
    .filter(User.attributes['my_prop'] == cast('true', postgresql.JSONB)) \
    .all()

Как это правильно сделать?

UPD. получилось сделать вот так, но я не уверен, что это хорошее решение. Если есть способы получше, подскажите, пожалуйста.

my_props_ids = self._db_session.query(User.id) \
    .filter(User.attributes['my_prop'].astext == 'true') \
    .all()

Ответы (0 шт):