首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django重命名字典值

Django重命名字典值
EN

Stack Overflow用户
提问于 2017-09-07 14:45:22
回答 3查看 96关注 0票数 1

我有一本字典

代码语言:javascript
复制
context['income'] = Income.objects.filter(assigned_to__username=self.request.user). \
                                   filter(status=Income.STATUS_PENDING). \
                                   annotate(month=ExtractMonth('created')).values('month'). \
                                   annotate(value=Coalesce(Sum('value'), 0)).values('month', 'value')

每次都会有这样的结果:

代码语言:javascript
复制
<QuerySet [{'month': 9, 'value': Decimal('12.50')}]>

取而代之的是我想用文字显示月份的月份号:1-1月,2-2月.9-9月等。我怎么做呢?

我想在一个图表中使用这个,在这个图表中,每个月都会显示总价值。

template.html

代码语言:javascript
复制
<script type="text/javascript">
    $(document).ready(function () {
        Morris.Bar({
            element: 'Income',
            data: [
                {% for item in income %}
                    { Month: '{{ item.month }}', Income: '{{ item.value }}' },
                {% endfor %}
            ],
            xkey: 'Month',
            ykeys: ['Income'],
            labels: ['Euro'],
            resize: true,
            lineColors: ['#33414E', '#95B75D']
        });
    });
</script>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-09-07 15:01:15

在JS中进行简单的数组查找是最简单的方法。

代码语言:javascript
复制
$(document).ready(function () {
    monthNames = ['January', 'February', 'March', 'April', ...];
    Morris.Bar({
        element: 'Income',
        data: [
            {% for item in income %}
                { Month: monthNames[{{ item.month }} - 1], Income: '{{ item.value }}' },
            {% endfor %}
        ],
票数 4
EN

Stack Overflow用户

发布于 2017-09-07 14:51:55

您可以尝试使用模板-日期

代码语言:javascript
复制
{ Month: '{{ item.month|date:"F" }}', Income: '{{ item.value }}' },
票数 1
EN

Stack Overflow用户

发布于 2017-09-07 14:57:53

代码语言:javascript
复制
Income.objects.filter(assigned_to__username=self.request.user).\
    extra(select={'month': "MONTHNAME(created)"}).\
    values('month')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46099295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档