Выборка по JSON-полю через SQLAlchemy

Есть поле типа JSON.

from sqlalchemy import Column
from sqlalchemy import Integer
from sqlalchemy import JSON
from sqlalchemy import String
from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()


class Country(Base):
    __tablename__ = 'country'
    id = Column(Integer, primary_key=True, autoincrement=True)
    flag = Column(String)
    name = Column(JSON)

Как сделать select с указанием этого json-поля?

session.query(Country).filter_by(name={'ru': 'Австрия'})

приводит к ошибке

sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedFunction) operator does not exist: json = unknown
LINE 3: WHERE country.flag = '??' AND country.name = '{"ru": "\u0410...
                                                   ^
HINT:  No operator matches the given name and argument types. You might need to add explicit type casts.
[SQL: SELECT country.id, country.flag, country.name 
FROM country 
WHERE country.flag = %(flag_1)s AND country.name = %(name_1)s AND country.id = %(id_1)s]
[parameters: {'flag_1': '??', 'name_1': '{"ru": "\\u0410\\u0432\\u0441\\u0442\\u0440\\u0438\\u044f"}', 'id_1': '1'}]
(Background on this error at: http://sqlalche.me/e/f405)

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