比如现在有如下表:
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')
然而我并不会写...
1
jenlors 2021-04-06 15:02:56 +08:00 1
可以使用自定义 function,https://tortoise-orm.readthedocs.io/en/latest/functions.html,看最后的样例,annotate + filter
|