我有一个看起来像这样的模型
class Message(db.Model):
content = db.Column(JSON)
我想在该字段上执行包含一些JSON字段的搜索
通常当我这样的事情发挥作用时
Message.query.filter(Message.content['summary'].cast(Unicode).match(search_term))
如果字段摘要不存在或为空
,现在我想使用或其他字段使用或不使用强制转换失败,类型的编程错误需要是boolean
Message.query.filter(Message.content['summary'] | Message.content['text+video'].match(search_term))
答案 0 :(得分:1)
感谢#sqlalchemy IRC频道上的 Elmer ,逻辑不正确,这就是我应该如何进行搜索
Message.query.filter(Message.content['summary'].cast(Unicode).match(search_term) | Message.content['text'].cast(Unicode).match(search_term))
有兴趣的人也应该点击此链接,其中有相关问题并提供更好的答案SQLAlchemy Text Matching data inside JSON field with UTF-8