别名Django QuerySet.values调用中的dict键

威姆
>>> ppcs.values('price', 'currency__currency_code')
[{'price': Decimal('562.00'), 'currency__currency_code': u'JPY'}]

使用时QuerySet.values,是否可以将键名别名为其他名称?例如,除了显示贯通关系的输出之外currency__currency_code,如何像下面的输出那样制作称为“ currency”的字典键:

>>> keys = ['price', 'currency']
>>> [dict(zip(keys, v)) for v in ppcs.values_list('price', 'currency__currency_code')]
[{'currency': u'JPY', 'price': Decimal('562.00')}]

上面这个想法的问题是,在这个阶段我不需要列表(也没有生成器对象),我希望输出ValuesQuerySet像第一个示例一样保持为a

威姆

klasske的评论完全回答了这个问题(谢谢)-> https://code.djangoproject.com/ticket/16735

简而言之,这是Django 1.8+解决方案:

from django.db.models import F
ppcs.annotate(currency=F('currency__currency_code')).values('price', 'currency')

不幸的是,在Django v1.7或更早的版本中是不可能的。

我本来希望在票证中最初建议使用以下语法,并且避免导入笨拙的F对象,但不需要骰子。

ppcs.values('price', currency='currency__currency_code')

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django:在Queryset中循环Queryset

来自分类Dev

Django queryset外键

来自分类Dev

Django queryset外键

来自分类Dev

Django queryset中的模数?

来自分类Dev

Django外键QuerySet(加入)

来自分类Dev

Django外键QuerySet(加入)

来自分类Dev

Django queryset外键转换

来自分类Dev

Django 在 Queryset 中获取外键对象

来自分类Dev

Django queryset中的Q对象

来自分类Dev

在Django Python中扩展queryset

来自分类Dev

Django QuerySet中的嵌套字典

来自分类Dev

在Django的queryset中添加字段

来自分类Dev

Queryset中的Django“ OR”类语句?

来自分类Dev

在Django中从ForeignKey获取QuerySet

来自分类Dev

Django queryset中的Q对象

来自分类Dev

扩展Django Python中的queryset

来自分类Dev

在Django中定义QuerySet的位置

来自分类Dev

通过外键django过滤对象queryset

来自分类Dev

在Django中的QuerySet过滤器中反向外键

来自分类Dev

检查queryset在Django中是否为空

来自分类Dev

Django queryset中的意外行为

来自分类Dev

使用QuerySet的Django模型中的计算属性

来自分类Dev

填写Queryset Django中缺少的数据

来自分类Dev

如何在Django中设置queryset?

来自分类Dev

Django:在UpdateView中覆盖get_queryset()

来自分类Dev

获取Django queryset中的重复记录

来自分类Dev

检查Django中的queryset是否为空

来自分类Dev

在Django模板中索引QuerySet数组

来自分类Dev

Django queryset中的意外行为