2018-10-12 Django 之 F 修改 DjangoJSONEncoder 鍵名

如下栗子,可以把原來數(shù)據(jù)庫中 status 和 統(tǒng)計結(jié)果 count 兩個關(guān)鍵詞替換成 echart 需要的 name 和 value 方便生產(chǎn)除json結(jié)果直接交給 echart 繪圖:

    data = SampleProductStatus.objects.filter(sample__customer_id=request.user.username).values('status')\
        .annotate(count=Count('status'), name=F('status'), value=F('count')).values('value', 'name')
    return HttpResponse(json.dumps(list(data), cls=DjangoJSONEncoder), content_type="application/json")

然后直接就可以使用 js 繪圖啦:

function set_sample_test(){
    $.ajax({
        type: 'GET',
        url: "/sample_status/",
        data: null,
        success: function (data) {
            test_option = {
                    tooltip : {
                    trigger: 'item',
                    formatter: "{a} <br/> : {c} (u0z1t8os%)"
                },
                calculable : true,
                series : [
                    {
                        name:'實驗狀態(tài)',
                        type:'pie',
                        radius : [20, 110],
                        center : ['50%', '40%'],
                        roseType : 'area',
                        data: data
                    }
                ]
            };
            // 使用剛指定的配置項和數(shù)據(jù)顯示圖表。
            test_status.setOption(test_option);
            },
    });
}

圖形結(jié)果如下:

echart 繪圖結(jié)果
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容