sql - 更改 Django 查询中的字段名称

标签 sql django django-models field

我有几个需要与 .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/

相关文章:

sql - 清理 SQL 代码

python - Django 管理员不会显示字段

javascript - 无法将多个查询的数据发送到django中的ajax调用

Django - 更改 'upload file' 按钮在模板中显示的内容

python - Django:使用值跟踪所有数据库更改

sql - ORA-00905 : missing keyword (copied from textbook)

sql - 如何编写为特定条件选择不同对值的 SQL 查询?

SQL 查询以查找至少具有所列标签之一的文章

python - 如何在 Django 中按 id 和 Order By 计数分组

mysql - 如何在原始 django 中清理 SQL 输入