如何计算Django jsonfield中的键数

时间:2019-08-13 11:50:51

标签: django django-jsonfield

我想做一个查询集过滤器,以识别在模型的json字段中具有给定键数的所有模型实例。

我试图创建一个自定义查找(#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"))

我得到的错误是: 提示:您也许可以将返回设置的函数移至LATERAL FROM项中。

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

0 个答案:

没有答案