Django JsonField查找过滤时使用未知子键

问题描述 投票:0回答:1

我想在不知道其中一个key值的情况下,通过嵌套的JSON字段key的值来过滤一个Django模型。

例如,我想这样做。

Model.objects.filter(json_field__firstKey__{UNKNOWN_ID_KEY}__desiredKey__in=[OPTION1,OPTION2])

这样每当这个嵌套结构存在,并且 desiredKey 的存在,我可以通过所需的Value是什么来过滤。OPTION1OPTION2{desiredKey: OPTION1}{desiredKey: OPTION2}.

我没有找到支持这种做法的文件。

这可能吗?

如果不可能,有人有什么其他建议吗?

django django-models filtering lookup
1个回答
0
投票

filter_dict = {'json_field__firstKey__' + UNKNOWN_ID_KEY + '__desiredKey__in': search_string}。

.filter(**filter_dict)

制作一个dict,将key作为查询的字符串,将value作为数组,然后在.filter()中调用前使用**来解包。

© www.soinside.com 2019 - 2024. All rights reserved.