2

我想创建一个查询集过滤器来识别在模型的 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 项目中。

有人已经尝试过执行此任务吗?

4

0 回答 0