What is the version of your PostgreSQL? Here is an example. Works perfectly for me (pg9.6 and pg10). https://gist.github.com/aCLr/7d794eabbf972a60a15f40b2d3965508
чт, 7 дек. 2017 г. в 16:05, <shrey.chau...@invicto.in>: > Hi, > > I tried using direct plain JSON: > > my model > class Student(db.Model): > __tablename__ = 'students' > id=db.Column(db.Integer, primary_key=True,autoincrement=True) > name=db.Column(db.String(200)) > roll_no=db.Column(db.Integer) > data_test=db.Column(db.JSON) > > > I tried this: > *a = Student.query.filter(cast(Student.__table__.c.data_test["foo"], > String) =="bar").**first**()* > > *error*: > sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) operator does > not exist: json -> unknown > LINE 3: WHERE CAST((students.data_test -> 'foo') AS VARCHAR) = 'bar' > ^ > HINT: No operator matches the given name and argument type(s). You might > need to add explicit type casts. > [SQL: 'SELECT students.id AS students_id, students.name AS > students_name, students.roll_no AS students_roll_no, students.data_test AS > students_data_test \nFROM students \nWHERE CAST((students.data_test -> > %(data_test_1)s) AS VARCHAR) = %(param_1)s'] [parameters: {'param_1': > 'bar', 'data_test_1': 'foo'}] > > > tried this: > *a = Student.query.filter(Student.data_test.op('->>')('foo') == > 'bar').first()* > > *error*: > sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) operator does > not exist: json ->> unknown > LINE 3: WHERE (students.data_test ->> 'foo') = 'bar' > ^ > HINT: No operator matches the given name and argument type(s). You might > need to add explicit type casts. > [SQL: 'SELECT students.id AS students_id, students.name AS > students_name, students.roll_no AS students_roll_no, students.data_test AS > students_data_test \nFROM students \nWHERE (students.data_test ->> > %(data_test_1)s) = %(param_1)s \n LIMIT %(param_2)s'] [parameters: > {'param_1': 'bar', 'data_test_1': 'foo', 'param_2': 1}] > > > > is this some versioning issue? > I am not able to understand, where am i going wrong? > > Thanks for any help in this > > -- > SQLAlchemy - > The Python SQL Toolkit and Object Relational Mapper > > http://www.sqlalchemy.org/ > > To post example code, please provide an MCVE: Minimal, Complete, and > Verifiable Example. See http://stackoverflow.com/help/mcve for a full > description. > --- > You received this message because you are subscribed to the Google Groups > "sqlalchemy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sqlalchemy+unsubscr...@googlegroups.com. > To post to this group, send email to sqlalchemy@googlegroups.com. > Visit this group at https://groups.google.com/group/sqlalchemy. > For more options, visit https://groups.google.com/d/optout. > -- Антон -- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper http://www.sqlalchemy.org/ To post example code, please provide an MCVE: Minimal, Complete, and Verifiable Example. See http://stackoverflow.com/help/mcve for a full description. --- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at https://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.