1

そのため、データを使用してピボット チャートを作成しようとしていますが、「NoneType」オブジェクトが反復可能ではありません。チャーティットを使用しています。私のエラーは具体的には「terms」にあります: ['tot_ft']}]) これは具体的にはピボットグラフ部分にあります

ここに私のコードがあります: 私がインポートしたものは次のとおりです:

from django.shortcuts import render, get_list_or_404, get_object_or_404, redirect
from django.contrib.auth.decorators import login_required
from basketball.models import Stats, Player, League, Game, Team
from django.contrib.auth import get_user
from django.db.models import Sum
from django.http import HttpResponse, HttpResponseRedirect
from django.core.mail import send_mail, BadHeaderError
from chartit import PivotDataPool, PivotChart

ビュー.py

def player_pivot_chart_view(request):
# Step 1: Create a PivotDataPool with the data we want to retrieve 
playerPivotData = PivotDataPool(
        series = 
        [{'options': {
            'source': Stats.objects.all(),
            'categories': 'player__first_name'},
        'terms': {
                'tot_ft':Sum('freeThrowsMade')}}])
pivcht = PivotChart(
            datasource = playerPivotData,
            series_options = [
                {'options': {
                    'type': 'column',
                    'stacking': True},
                'terms': ['tot_ft']}])
return render(request,'basketball/StatsPage.html', {'dataChart':pivcht})

models.py

class Stats(models.Model):
    player = models.ForeignKey(Player)
    game = models.ForeignKey(Game)
    freeThrowsMade = models.PositiveIntegerField(verbose_name='FTm', default = 0)
    freeThrowsAttempted = models.PositiveIntegerField(verbose_name='FTa', default = 0)
    twoPointsMade = models.PositiveIntegerField(verbose_name='2Pm', default = 0)
    twoPointsAttempted = models.PositiveIntegerField(verbose_name='2Pa', default = 0)
    threePointsMade = models.PositiveIntegerField(verbose_name='3Pm', default = 0)
    threePointsAttempted = models.PositiveIntegerField(verbose_name='3Pa', default = 0)
    blocks = models.PositiveIntegerField(default = 0)
    steals = models.PositiveIntegerField(default = 0)
    assists = models.PositiveIntegerField(default = 0)
    fouls= models.PositiveIntegerField(default = 0)
4

2 に答える 2

3

同じエラーが発生しました。chartit のソース コードを少し検索したところ、解決策が見つかりました。

and :PivotChartの他に、コンストラクターに指定できるオプションの引数があります。chart_options が指定されていない場合、 chartit はデフォルトでそれに割り当てられ、エラーが発生します。これは実際には chartit のバグです。data_sourceseries_optionschart_optionsNone

これを回避するには、空の辞書をchart_options次のように送信する必要があります。

pivcht = PivotChart(
            datasource = playerPivotData,
            series_options = [
                {'options': {
                    'type': 'column',
                    'stacking': True},
                'terms': ['tot_ft']}],
            chart_options = {})
于 2013-08-16T13:25:51.490 に答える