Django-Chartit'source'必须是QuerySet,Model或Manager

时间:2012-05-06 14:53:57

标签: javascript python django highcharts

我正在使用Django-Chartit创建图表 试着关注this例子。
我的问题是我想使用不是来自模型的数据 所以我尝试了这段代码

data = \
    DataPool(
       series=
        [{'options': {
           'source': [1,2,3,4,5,6,7,8,9,10]},
          'terms': [
            'month',
            'houston_temp',
            'boston_temp']}
         ])
chart = Chart(
        datasource = data,
        series_options =
          [{'options':{
              'type': 'line',
              'stacking': False},
            'terms':{
              'month': [
                'boston_temp',
                'houston_temp']
              }}],
        chart_options =
          {'title': {'text': 'Weather Data of Boston and Houston'},
           'xAxis': {'title': {'text': 'Month number'}
                     }})

我收到了一条错误消息

  

'source'必须是QuerySet,Model或Manager。取而代之的是[1,2,3,4,5,6,7,8,9,10]。

我不认为我可以从列表中创建QuerySet。 任何的想法 ?

2 个答案:

答案 0 :(得分:4)

看起来Django-Chartit真的是用模型制作图表。注意标记行:

Create charts from your Django models effortlessly

如果您有特定原因无法使用模型,我会考虑使用单独的网络图表工具such as Flot。它是纯JavaScript,因此您需要将数据发送到客户端才能制作图表。

答案 1 :(得分:1)

首先,docs terms必须是source上有效字段的列表或词典,其中必须模型,查询集或管理器。

那么您想要使用哪种数据?

更新:这个列表数据源究竟是什么?如果是包含id的列表 你可以做一个模型,使其成为一个查询集

MyModel.objects.filter(id__in=[3,1,2,5,77])