我正在尝试查询JSON列中的字段(Postgres):
class MyTable(Base):
__tablename__ = 'my_table'
data = Column(JSONB)
查询:
my_query = session.query(MyTable).limit(10).with_entities(MyTable.data['rule']).all()
我没有收到错误,但结果是空的。
即使我尝试使用astext
,也会尝试相同的空结果:
my_query = session.query(MyTable).limit(10).with_entities(MyTable.data['rule'].astext).all()
在这种情况下我可以使用with_entities吗?会有什么工作? 感谢。
答案 0 :(得分:0)
添加label()
方法解决了我的问题:
my_query = session.query(MyTable).limit(10). \
with_entities(MyTable.data['rule'].label('rule')).all()