我正在通过提供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']
答案 0 :(得分:0)
在chartit的charts.py文件中的set_default_hcoptions函数中使用的术语没有属性索引,这就是它给我错误的原因。我已经评论了它被初始化的行,即
# terms = self.series_options.keys()
并添加了我自己的版本:
terms = list(self.series_options)
它对我有用。