对Django中的dict键进行别名查询集值

2024-10-01 11:29:51 发布

您现在位置:Python中文网/ 问答频道 /正文

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

当使用^{}时,有没有一种方法可以将密钥名别名为其他名称?例如,不是输出显示through关系currency__currency_code,我如何使dict键名为“currency”,如以下输出所示:

^{pr2}$

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


Tags: 方法名称关系密钥code阶段pricedict
1条回答
网友
1楼 · 发布于 2024-10-01 11:29:51

克拉斯克的评论完全回答了这个问题(谢谢)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对象,但不需要导入dice。在

^{pr2}$

相关问题 更多 >