我有几个需要与 .union()
结合的 Django 查询。
但是 .union()
只有在所有字段名称相同的情况下才有效,情况并非如此。
那么,如何修改 Django 查询中的字段名称(如在 SQL 中使用 AS
关键字)?
最佳答案
您可以使用 annotate()
为查询集中的每个项目添加一个新字段。然后使用 values()
以便只返回联合中所需的列。
MyModel.objects.annotate(new_name=F('old_name').values('new_name', 'other_field').union(
MyOtherModel.objects.annotate(new_name=F('other_old_name').values('new_name', 'other_field')
)
关于sql - 更改 Django 查询中的字段名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49481234/