我想在不知道其中一个key值的情况下,通过嵌套的JSON字段key的值来过滤一个Django模型。
例如,我想这样做。
Model.objects.filter(json_field__firstKey__{UNKNOWN_ID_KEY}__desiredKey__in=[OPTION1,OPTION2])
这样每当这个嵌套结构存在,并且 desiredKey
的存在,我可以通过所需的Value是什么来过滤。OPTION1
或 OPTION2
即 {desiredKey: OPTION1}
或 {desiredKey: OPTION2}
.
我没有找到支持这种做法的文件。
这可能吗?
如果不可能,有人有什么其他建议吗?
filter_dict = {'json_field__firstKey__' + UNKNOWN_ID_KEY + '__desiredKey__in': search_string}。
.filter(**filter_dict)
制作一个dict,将key作为查询的字符串,将value作为数组,然后在.filter()中调用前使用**来解包。