0

我正在使用 django orm 子查询。但是当我添加一个特定的过滤器参数时,FieldError: Expression contains mixed types。您必须设置 output_field引发错误。

我可以知道这个错误是什么以及如何解决它吗?

下面是出现错误的代码,在第6行和第7行添加is_active=Trueeventcardad__isnull=False时出现错误!

  • 我正在使用 PostgreSQL RDBMS!
personalized_event_ads_qs = CustomerPersonalization.objects.filter(
            customer__id__in=Customer.objects.filter(accept_marketing=True).filter(email='abc1@naver.com')
        ).annotate(
            element_ids=Subquery(
                Element.objects.fil
                    is_active=True,
                    eventcardad__isnull=False,
                    campaign__in=campaign_qs,
                ).filter(
                    majors__in=OuterRef('majors'),
                ).filter(
                    Q(cities__in=OuterRef('cities')) |
                    Q(districts__in=OuterRef('districts'))
                ).values(
                    'is_active'
                ).annotate(
                    element_ids=ArrayAgg('eventcardad', distinct=True)
                ).values(
                    'element_ids'
                )
            )
        ).values(
            'element_ids'
        ).annotate(
            customers=ArrayAgg('customer', distinct=True)
        )
4

0 回答 0