比如现在有如下表:
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 ![]() 可以使用自定义 function,https://tortoise-orm.readthedocs.io/en/latest/functions.html,看最后的样例,annotate + filter |