Как агрегировать значения Jsonfield в Django?

У меня есть JsonField (col1) в модели (model1), которое содержит значения, как показано ниже:

{"key_1":"val_1", "key_2":"{\"sub_key1\":sub_val1, \"sub_key2\":sub_val2}"}

Я хотел бы агрегировать sub_key1 и sub_key2. Я пробовал ниже в Python, но это не работает.

from django.db.models import FloatField, JSONField
from django.db.models import Sum, Value
from django.db.models.functions import Cast

## try 1   
model1.objects.annotate(val=Cast('col1__key_2__sub_key1', FloatField())).aggregate(op=Sum('val'))

## try 2
model1.objects.annotate(
    val=Cast('col1__key1', JSONField())).annotate(
    val_2=Cast('val__sub_key1', FloatField())).aggregate(op=Sum('val_2'))

Есть ли способ агрегировать эти подключи?

Вернуться на верх