Фильтр Django JSONField список диктов
Я запускаю Django 1.9 с новым JSONField и у меня есть следующая тестовая модель:
class Test(TimeStampedModel):
actions = JSONField()
Допустим, действие JSONField выглядит так:
[
{
"fixed_key_1": "foo1",
"fixed_key_2": {
"random_key_1": "bar1",
"random_key_2": "bar2",
}
},
{
"fixed_key_1": "foo2",
"fixed_key_2": {
"random_key_3": "bar2",
"random_key_4": "bar3",
}
}
]
Я хочу иметь возможность фильтровать ключи foo1 и foo2 для каждого элемента списка. Когда я делаю :
>>> Test.objects.filter(actions__1__fixed_key_1="foo2")
Тест находится в наборе запросов. Но, когда я делаю :
>>> Test.objects.filter(actions__0__fixed_key_1="foo2")
Это не имеет смысла. Я хочу сделать что-то вроде:
>>> Test.objects.filter(actions__values__fixed_key_1="foo2")
Или же
>>> Test.objects.filter(actions__values__fixed_key_2__values__contains="bar3")
И тест в наборе запросов.
Есть идеи, если это можно сделать и как?