У меня есть код, который создает несколько сложных наборов запросов из разных таблиц, используя множество аннотаций и т. Д. *
Затем код присоединяется к этим наборам запросов, используя объединение.
Каждый из нихнаборы запросов сами по себе, кажется, в порядке. Вызов print(len(qset))
работает для каждого из них.
Но после combined_qset = qset1.union(qset2)
я получаю следующую ошибку:
django.db.utils.ProgrammingError: each UNION query must have the
same number of columns
LINE 1: ..., '') AS "owner" FROM "t1") UNION (SELECT "field_x...
^
Когда я смотрю на код, я считаю количество полейв вызовах .only(...)
и .values(...)
, подсчете количества аннотаций и т. д. кажется, что все эти наборы запросов имеют одинаковое количество столбцов.
В сообщении об ошибке показана лишь небольшая часть SQLгенерируется (см. выше), так что это не очень полезно.
Есть ли простой способ получить список столбцов набора запросов, чтобы я мог найти несоответствие и исправить его?