Django различает значения JSONField между списками и объектами
Я использую django 3.2 с Postgres в качестве БД. У меня есть модель с JSONField:
class MyModel(models.Model):
data = models.JSONField(default=dict, blank=True)
В базе данных есть много записей в этой таблице и некоторые данные имеют JSON значения как объект, а другие как списки:
{
"0:00:00 A": "text",
"0:01:00 B": "text",
"0:02:00 C": "text",
}
[
{"time": "0:00:00", "type": "A", "description": "text"},
{"time": "0:01:00", "type": "B", "description": "text"},
{"time": "0:02:00", "type": "C", "description": "text"},
]
Мне нужно отфильтровать все записи, которые имеют JSON значения в виде объектов.
Что я пробовал, так это использовать has_key
с таймфреймом "0:00:00" :
result = MyModel.objects.filter(data__has_key="0:00:00 A")
Но я действительно не могу использовать его, потому что я не уверен, как полностью выглядит ключ с таймфреймом.
Есть идеи, как фильтровать значения JSONField по структуре объекта?