Hi, I am using flask-sqlalchemy in my project, but I am not able to understand how to query(filter_by) on a json column
test_example: #I am using Postgresql backend app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://postgres:postgres@localhost:5432/test_db' db = SQLAlchemy(app) #this is my test class 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) #to put data in table is used s= Student(name='shrey',roll_no=100, data_test={'foo':'bar'}) db.session.add(s) db.session.commit() #I read in some links and i tried this a = Student.query.filter(Student.data_test["foo"].astext =="bar").first() here the error I am getting is : Traceback (most recent call last): File "sqlalchemyjson.py", line 44, in <module> a = Student.query.filter(Student.data_test["foo"].astext =="bar").first() File "/usr/lib64/python2.7/site-packages/sqlalchemy/sql/elements.py", line 682, in __getattr__ key) AttributeError: Neither 'BinaryExpression' object nor 'Comparator' object has an attribute 'astext' I tried few other operations also, but nothing worked can someone help me on 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.