如何在Django中重命名values()中的项目?

我想像djangoproject.com上的这张票一样执行相同的操作,但是具有一些附加格式。从这个查询

>>> MyModel.objects.values('cryptic_value_name')

[{'cryptic_value_name': 1}, {'cryptic_value_name': 2}]

我想得到这样的东西:

>>> MyModel.objects.values(renamed_value='cryptic_value_name')

[{'renamed_value': 1}, {'renamed_value': 2}]

是否有另一种更内置的方法,还是我必须手动执行此操作?

回答:

这有点hacky,但是你可以使用以下extra方法:

MyModel.objects.extra(

select={

'renamed_value': 'cryptic_value_name'

}

).values(

'renamed_value'

)

这基本上是SELECT cryptic_value_name AS renamed_value在SQL中完成的。

如果你始终想要重命名的版本,但是数据库具有神秘名称,则另一种选择是使用新名称命名字段,但用于db_column引用数据库中的原始名称。

以上是 如何在Django中重命名values()中的项目? 的全部内容, 来源链接: utcz.com/qa/432902.html

回到顶部