Как аннотировать сумму двух столбцов в Django, когда один из них должен быть отфильтрован, а другой сначала разобран?

У меня есть x, a ManyToManyField, которые я хочу отфильтровать по имени. Этого можно достичь с помощью

count1 = Q(x__name__contains=UNSUPPORTED_FORMATS) 

У меня также есть y, JSONField, который на самом деле является списком. Я хочу подсчитать элементы внутри него, после того, как я отфильтрую нерелевантные элементы. Этого можно добиться с помощью

count2 = len(list(filter(lambda y: not y.endswith(tuple(UNSUPPORTED_FORMATS)), object.y)))

Теперь я хотел бы аннотировать весь набор запросов object столбцом, равным count1 + count2

Как я могу создать эту аннотацию?

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