如何在 tortoise-orm 的 JSON 字段中查找含有指定值的项?

2021-04-06 13:04:59 +08:00
 we21x

比如现在有如下表:

class Foo(models.Model):
    id = fields.IntField(pk=True)
    tags = fields.JSONField(default=['aa', 'bb', 'cc'])

想查询 tags 内含 bb 的数据项,该怎么写呢? 官方文档里面有个filtering感觉比较合适,但是这样写:

bb_tags = await Foo.filter(tags__in=['bb'])

并找不到数据。 另一个思路是直接写原始的 SQL Query:

async with in_transaction() as conn:
    r = await conn.execute_query('SELECT tags FROM Foo')

然而我并不会写...

2036 次点击
所在节点    Python
3 条回复
jenlors
2021-04-06 15:02:56 +08:00
we21x
2021-04-06 21:16:17 +08:00
@long2ice 感谢!
we21x
2021-04-06 22:50:59 +08:00
@long2ice 大佬能给个例子吗?我没有 SQL 基础调了好半天也没看懂

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/768348

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX