Django-Chartit2' dict_keys' object不支持索引错误

时间:2016-02-06 10:10:21

标签: django pivot-table pivot-chart

我正在通过提供here提供的演示示例来探索Django Chartit2包的图表用途。我创建了自己的Pivot图表模型,其中包含字段:city,person和sales。

在我的观点中,我通过使用基于Sales列聚合的术语来创建数据透视图。

尝试访问网址时出现错误:

  

异常类型:/ chart / pivotpool /

中的TypeError      

例外值:' dict_keys' object不支持索引

在指定数据透视图的条款时,请告诉我遗漏的内容。

class SalesHistory(models.Model):
    city = models.CharField(max_length=50)
    person = models.CharField(max_length=50)
    sales_qty = models.IntegerField()

def some_view(request):
    ds = PivotDataPool(series=[{'options': {'source': SalesHistory.objects.all(), 'categories': ['city']},
    'terms': {'total_sales': Sum('sales_qty')}}])
    pivchrt = PivotChart(datasource=ds, series_options=[{'options': {'type': 'column', 'stacking': True}, 'terms':['total_sales']}], chart_options = {})

我的追溯:

Traceback:
File "/home/sam/Documents/onemoreEnv/lib/python3.4/site-packages/django/core/handlers/base.py" in get_response
  149.                     response = self.process_exception_by_middleware(e, request)

File "/home/sam/Documents/onemoreEnv/lib/python3.4/site-packages/django/core/handlers/base.py" in get_response
  147.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/home/sam/Documents/Lab Projects/djangoChartit/demoChartit/views.py" in some_view
  131.                        'text': 'city'}}})

File "/home/sam/Documents/onemoreEnv/lib/python3.4/site-packages/chartit/charts.py" in __init__
  508.         self.set_default_hcoptions()

File "/home/sam/Documents/onemoreEnv/lib/python3.4/site-packages/chartit/charts.py" in set_default_hcoptions
  533.         categories = dss[terms[0]]['categories']

1 个答案:

答案 0 :(得分:0)

在chartit的charts.py文件中的set_default_hcoptions函数中使用的术语没有属性索引,这就是它给我错误的原因。我已经评论了它被初始化的行,即

# terms = self.series_options.keys()

并添加了我自己的版本:

terms = list(self.series_options)

它对我有用。