Python “非类型”对象在Chartit中不可编辑
因此,我试图用我的数据创建一个透视图,但我一直得到的“非类型”对象是不可编辑的。我正在使用它。我的错误与“术语”有关:[“tot_ft']}]这是数据透视图部分的错误 这是我的密码: 以下是我导入的东西:Python “非类型”对象在Chartit中不可编辑,python,django,Python,Django,因此,我试图用我的数据创建一个透视图,但我一直得到的“非类型”对象是不可编辑的。我正在使用它。我的错误与“术语”有关:[“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 ba
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
views.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)
我也犯了同样的错误。在查特的源代码中搜索了一下之后,我找到了解决方案 除了数据源和系列选项之外,您还可以为数据透视图构造函数提供一个可选参数:图表选项。如果未提供图表选项,则默认情况下,chartit会为其分配None,从而导致出现错误。 这实际上是chartit中的一个bug 若要绕过此选项,应将空字典作为图表选项发送:
我也犯了同样的错误。在查特的源代码中搜索了一下之后,我找到了解决方案 除了数据源和系列选项之外,您还可以为数据透视图构造函数提供一个可选参数:图表选项。如果未提供图表选项,则默认情况下,chartit会为其分配None,从而导致出现错误。 这实际上是chartit中的一个bug 若要绕过此选项,应将空字典作为图表选项发送:
我也遇到了同样的问题,我知道出了问题的方法是将数据发送到一个模板。我正在将图表中的数据放在我的base.html上。每次我打开一个不是接收数据的模板时,我都会出错。确保你没有那样做 我也有同样的问题,我知道出了问题的方法是将数据发送到一个模板。我正在将图表中的数据放在我的base.html上。每次我打开一个不是接收数据的模板时,我都会出错。确保你没有那样做 你也可以添加回溯你可以转到这个链接我有一个问题,一个字段的总和应该给出一个数据点,你只有一个术语/轴,你正在绘制这个,你试图用一个数据点绘制什么。你必须有更多的相对位置来创建图表。我试图创建一个每个球员罚球总数的透视表。根据我现在掌握的代码,球员们会不会将其分开,并计算他们所有罚球的总和?madeI不知道pivot图表,但我认为你可能需要检查更多关于数据点的信息,尽管我认为你应该得到一个ValueError。我不太确定你是否共享了整个回溯你是否也可以添加回溯你可以访问此链接我有一个问题单个字段的总和应该给出一个数据点,而你只有一个术语/轴,在这个术语/轴上你正在绘制此图表,你试图用单个数据点绘制什么。你必须有更多的相对位置来创建图表。我试图创建一个每个球员罚球总数的透视表。根据我现在掌握的代码,球员们会不会将其分开,并计算他们所有罚球的总和?madeI不知道pivot图表,但我认为你可能需要检查更多关于数据点的信息,尽管我认为你应该得到一个ValueError。我不太确定你是否分享了整个追踪
pivcht = PivotChart(
datasource = playerPivotData,
series_options = [
{'options': {
'type': 'column',
'stacking': True},
'terms': ['tot_ft']}],
chart_options = {})