我想创建一个查询集过滤器来识别在模型的 jsonfield 中具有给定数量的键的所有模型实例。
我试图创建一个自定义查找(#1)来额外的 json 字段中的键,
并希望将它们聚合到一个数组中并使用数组的 __len 查找来制作我的过滤器。不幸的是,我被困在似乎不起作用的聚合上(#2)。
1
class JsonKeys(Transform):
output_field = TextField()
lookup_name = 'keys'
function = 'jsonb_object_keys'
2
qs = qs.annotate(keysArray=ArrayAgg("myJsonField__keys"))
我得到的错误是:提示:您也许可以将 set-returning 函数移动到 LATERAL FROM 项目中。
有人已经尝试过执行此任务吗?