【发布时间】:2019-04-28 23:16:00
【问题描述】:
我有两个 django 模型
class ModelA(models.Model):
title = models.CharField(..., db_column='title')
text_a = models.CharField(..., db_column='text_a')
other_column = models.CharField(/*...*/ db_column='other_column_a')
class ModelB(models.Model):
title = models.CharField(..., db_column='title')
text_a = models.CharField(..., db_column='text_b')
other_column = None
然后我想用union合并这个模型的两个查询集
ModelA.objects.all().union(ModelB.objects.all())
但在查询中我看到
(SELECT
`model_a`.`title`,
`model_a`.`text_a`,
`model_a`.`other_column`
FROM `model_a`)
UNION
(SELECT
`model_b`.`title`,
`model_b`.`text_b`
FROM `model_b`)
当然我得到了例外The used SELECT statements have a different number of columns。
如何创建别名和假列以使用联合查询?
【问题讨论】:
标签: mysql django django-models union