4

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

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。任何的想法 ?

4

2 回答 2

4

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

Create charts from your Django models effortlessly

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

于 2012-05-06T15:10:47.153 回答
1

首先,他们的文档 terms必须是有效字段的列表或字典,source其中必须是模型、查询集或管理器。

那么你想使用什么样的数据呢?

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

MyModel.objects.filter(id__in=[3,1,2,5,77])
于 2012-05-06T15:14:44.373 回答