2012-05-06 21 views
4

我使用Django-Chartit来创建图表。
试图按照this的例子。
我的问题是,我想从一个模型中未使用的数据 所以我尝试这个代码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'} 
        }}) 

,我得到一个错误信息

“源”必须是一个QuerySet,型号或经理。取而代之的是[1,2,3,4,5,6,7,8,9,10]。

我不认为我可以从列表中创建一个QuerySet。 有什么想法?

+0

嗨@yossi。感谢这个问题。在这个时候,我只是处于这种心态。你如何解决它?谢谢。 – danihp

+0

我用highcharts javascript代替,并将数据呈现为页面中的javascript的字符串 – yossi

+0

谢谢。我在做这个工作。我也认为这是一个优雅的解决方案。另外,对我来说,Highstock是一个更好的解决方案。问候。 – danihp

回答

4

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

Create charts from your Django models effortlessly 

如果你不能用模型的具体原因,我会考虑使用一个单独的Web图表工具such as Flot。这是纯粹的JavaScript,因此您需要将数据发送到客户端以制作图表。

1

首先从docsterms必须在source列表或有效字段的字典必须模型,查询集或经理。

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

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

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

我想用一个简单的列表 – yossi

+1

@yossi看我的更新。如果这不适合你,最好看看Paragon的建议 – rantanplan

+0

不,它不是一个列表,如果id是,它只是一个简单的列表,与模型无关。 – yossi