Проблема с аннотацией Sum When Case после обновления django

У меня возникла проблема с обновлением django.

models.py:

class TrackReport(BaseMixin):


    value = models.PositiveIntegerField()
    archive = models.ForeignKey("Archive", related_name="track_reports", on_delete=models.PROTECT)
    date = models.DateField(db_index=True)

Запрос:

 qs = Archive.objects
 qs = qs.annotate(
                filtered_by_date_min=Sum(
                    Case(When(track_reports__date__gte=date_min, then=Value(1)), default=Value(0), output_field=IntegerField())
                )
            ).filter(filtered_by_date_min__gt=0)

python 3.8, django 1.12, postgres 15 без проблем

python 3.11 django 4.1.2, postgres 15:

../../mambaforge/envs/new_sponsordata_arm/lib/python3.11/site-packages/django/db/models/sql/query.py:1289: in build_lookup
    lookup_class = lhs.get_lookup(lookup_name)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = Sum(CASE WHEN <WhereNode: (AND: In(Col(archive_trackreport, archive.TrackReport.type), ['FACEBOOK_POPULARITY']))> THEN Value(1), ELSE Value(0))
lookup = 'gt'

    def get_lookup(self, lookup):
>       return self.output_field.get_lookup(lookup)
E       AttributeError: 'IntegerField' object has no attribute 'get_lookup'

../../mambaforge/envs/new_sponsordata_arm/lib/python3.11/site-packages/django/db/models/expressions.py:377: AttributeError

Я знаю, что прошло уже много лет, но изменилось ли что-нибудь?

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