当前位置: 首页 > 面试题库 >

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

乜业
2023-03-14
问题内容

我想像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引用数据库中的原始名称。



 类似资料:
  • 我有一些项目,其中包含项目的目录被称为“代码”。 当我打开IDEA时,在我最近的项目列表中,我看到的都是这个名字。 有什么方法可以在设置中更改这个吗? 我试着转到文件->Project Structure->Project,在IntelliJ IDEA 13中找不到Project Name选项。

  • 问题内容: 如此处所述,可以更改项目名称。但是,它仅更改项目名称,而不会更改文件夹结构。 例如,如果您的项目名为sample1并且位于〜/ user1 / development / IdeaProjects / sample1,则将项目名称更改为sample2时,文件夹位置将不会更改为〜/ user1 / development / IdeaProjects / sample2。 问题答案: 似

  • 如何在AS(1.0.2)的“欢迎”屏幕的“最近的项目”中更改项目的名称(标题)? 问题是在我的一个项目,但它被NDA覆盖,所以不能在这里显示。它是从Eclipse导入AS的。它位于目录下,由as导入为项目。我已经将文件夹、项目重命名为需要的名称,一切都很好,但是仍然出现在“最近的项目”和Android Studio的标题上。不是很关键,而是有点烦人:)。 例如,我需要将'gradle'更改为'so

  • 问题内容: 在使用以下代码初始化时,我拼错了名称: 我实际上打算用名称创建环境。尝试将文件夹重命名为时,我发现这没有太大帮助。激活环境的名称仍重命名旧的。 我想知道如何重命名环境? 问题答案: 默认情况下,virtualenv不支持环境重命名。仅删除virtualenv目录并使用正确的名称创建一个新目录是更安全的。您可以通过以下方式做到这一点: 激活您的virtualenv: 创建当前安装的软件包

  • 我有一个pycharm项目,大概还有一个Django项目。也许它们是一回事,也许不是——我不确定区别。 总之,在我的settings.py文件中(该文件位于< code>project目录的根目录下,我认为这是我的pycharm项目),我有: 这是否意味着< code>dumpstown是我的项目名称?还是我的pycharm项目名?有什么区别?因为我还有一个名为< code>dumpstownap

  • 我已经创建了JFields数组; 我要做的是给数组中的每个项一个名称,例如field1、field2、field3、field4、Field5。 谢谢