0
我试图找到最好的方式来生成一个sql查询,从我的数据库从jsonb列中的特定字段。我想产生这样的查询:sqlalchemy - 我如何生成一个查询,只返回一个字段从jsonb列
select images->'main' from scenes where id = 1;
我发现使用with_entities this参考,而这个正确生成查询:
>>> x = Scene.query.with_entities(Scene.images['main']).first()
2016-09-22 18:57:01,825 INFO sqlalchemy.engine.base.Engine SELECT scenes.images -> %(images_1)s AS anon_1
FROM scenes
LIMIT %(param_1)s
2016-09-22 18:57:01,826 INFO sqlalchemy.engine.base.Engine {'param_1': 1, 'images_1': 'main'}
然而,它的返回结果作为一个元组,而不是模型对象:
>>> x
([{u'url': u'foo.jpg', u'priority': 1}],)
我认为使用load_only,但这个API似乎并未有指定合作的jsonb领域的一种方式lumn,但只有整个列名称。
有没有办法生成查询并将模型对象作为返回值?
那么,如果它返回一个模型对象,你期望你的领域在哪里? t对象? – univerio