Типы COALESCE text и bigint не могут быть сопоставлены в Django с PostgreSQL

Я хочу использовать два подзапроса в функции Coalesce, как в коде ниже.

cached_board_id_query = Subquery(
    self.user_model.objects
        .annotate(memo_board_id=Func(
            F('preferences'),
            Value('module'),
            Value('tasks'),
            Cast(OuterRef('id'), output_field=CharField()),
            Value('board'), function='jsonb_extract_path_text', output_field=IntegerField()
        )).values('memo_board_id')[:1], output_field=IntegerField())

default_board_id_query = Subquery(
    self.board_model.objects
        .filter(project_id=OuterRef('id'))
        .only('id')[:1],
    output_field=IntegerField()
)

projects = list(
    self.get_queryset().annotate(
        board_id=Coalesce(
            cached_board_id_query,
            default_board_id_query,
            output_field=IntegerField()
        )
    ).order_by('id').values()
)

Однако я получаю исключение, что типы coalesce не совпадают. Я не понимаю, где происходит несоответствие, поскольку все выходные поля имеют одинаковый тип. Что не так с этим запросом?

ProgrammingError at /url/
COALESCE types text and bigint cannot be matched
LINE 1: ... FROM "user" U0 WHERE U0."id" = 1 LIMIT 1), (SELECT U0...
Вернуться на верх