Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 饼图的查询集_Python_Django Rest Framework_Django Queryset - Fatal编程技术网

Python 饼图的查询集

Python 饼图的查询集,python,django-rest-framework,django-queryset,Python,Django Rest Framework,Django Queryset,我想我只是犯了一个简单的错误,但我似乎无法解决它。我试图创建一些虚假数据,并通过不同类型的用户进行分析,然后将其放入饼图中。这是我的models.py: 来自django.db导入模型的 进口工厂 进口工厂.django 进口工厂 从日期时间导入日期时间 从django.core.validators导入MinValueValidator、MaxValueValidator 从冒牌货进口冒牌货 从faker.providers导入BaseProvider 随机输入 类用户(models.Mode

我想我只是犯了一个简单的错误,但我似乎无法解决它。我试图创建一些虚假数据,并通过不同类型的用户进行分析,然后将其放入饼图中。这是我的models.py:

来自django.db导入模型的

进口工厂
进口工厂.django
进口工厂
从日期时间导入日期时间
从django.core.validators导入MinValueValidator、MaxValueValidator
从冒牌货进口冒牌货
从faker.providers导入BaseProvider
随机输入
类用户(models.Model):
name=models.CharField(最大长度=64)
地址=models.CharField(最大长度=128)
电话号码=models.CharField(最大长度=32)
access_date=models.DateTimeField(默认值=datetime.now(),blank=True)
session_duration=models.IntegerField(默认值=0,验证器=[MinValueValidator(0),
MaxValueValidator(5)])
流量源=模型.字符域(最大长度=32)
created_account=models.BooleanField(默认值=True)
paid_customer=models.BooleanField(默认值=True)
user\u type=models.CharField(最大长度=128,默认值为'all\u others')
类UserFactory(factory.django.DjangoModelFactory):
类元:
模型=用户
name=factory.Faker('name')
地址=工厂。伪造者(“地址”)
phone\u number=工厂.Faker('phone\u number'))
access\u date=factory.Faker('date')
会话持续时间=factory.Faker('random_int')
流量_source=factory.fuzzy.FuzzyChoice(['Google','Facebook'])
已创建\u帐户=工厂.Faker('pybool'))
付费客户=工厂冒牌货('pybool')
用户类型=factory.fuzzy.FuzzyChoice(['已注册','已支付','所有其他']))
和我的
视图.py

从django.exe导入渲染
从django.db.models导入总和
从django.http导入JsonResponse
从mysite.models导入用户
def home(请求):
返回呈现(请求“home.html”)
def饼图(请求):
标签=[User.User\u type]
registered\u user=user.objects.filter('registered')
paid\u user=user.objects.count('paid')
all\u others=User.objects.count('all\u others')
数据=[注册用户、付费用户、所有其他用户]
#queryset=User.objects.order_by('-access_date'))
#对于queryset中的用户:
#labels.append(user.user\u类型)
#data.append(user.user\u计数)
返回渲染(请求'pie_chart.html'{
“标签”:标签,
“数据”:数据,
})
我刚刚开始与querysets合作,因此非常感谢您的帮助

编辑:这是我收到的错误消息:

回溯(最近一次呼叫最后一次): 文件“/Users/ryan/anaconda3/lib/python3.7/site packages/django/core/handlers/exception.py”,第34行,在内部 响应=获取响应(请求) 文件“/Users/ryan/anaconda3/lib/python3.7/site packages/django/core/handlers/base.py”,第115行,在“获取”响应中 response=self.process\u异常\u由\u中间件(e,请求) 文件“/Users/ryan/anaconda3/lib/python3.7/site packages/django/core/handlers/base.py”,第113行,在“获取”响应中 响应=包装的回调(请求,*回调参数,**回调参数) 文件“/Users/ryan/All_Django/FinalProject/mysite/views.py”,饼图第15行 registered\u user=user.objects.filter('registered') 文件“/Users/ryan/anaconda3/lib/python3.7/site packages/django/db/models/manager.py”,第82行,在manager_方法中 返回getattr(self.get_queryset(),name)(*args,**kwargs) 文件“/Users/ryan/anaconda3/lib/python3.7/site packages/django/db/models/query.py”,第904行,在过滤器中 返回self.\u filter\u或\u exclude(False、*args、**kwargs) 文件“/Users/ryan/anaconda3/lib/python3.7/site packages/django/db/models/query.py”,第923行,在过滤器或排除中 clone.query.add_q(q(*args,**kwargs)) 文件“/Users/ryan/anaconda3/lib/python3.7/site packages/django/db/models/sql/query.py”,第1350行,在add_q中 子句,self.\u添加(q\u对象,self.used\u别名) 文件“/Users/ryan/anaconda3/lib/python3.7/site packages/django/db/models/sql/query.py”,第1381行,在添加q中 检查可过滤=检查可过滤, 文件“/Users/ryan/anaconda3/lib/python3.7/site packages/django/db/models/sql/query.py”,第1247行,内置过滤器 arg,value=filter\u expr

异常类型:ValueError位于/mysite/饼图/
异常值:太多的值无法解压缩(预期为2)

谢谢大家的输入。我可以通过以下对我的views.py的更改来解决这个问题。请随意留下其他评论,但我现在就关闭它

from django.shortcuts import render

from django.db.models import Sum
from django.http import JsonResponse

from mysite.models import User


def home(request):
    return render(request, 'home.html')


def pie_chart(request):

    queryset = User.objects.order_by('-access_date')

    total_registered = 0
    total_paid = 0
    total_others = 0

    labels = ['total_registered', 'total_paid', 'total_others']

    for user in queryset:

        if user.created_account == 1:
            total_registered = total_registered + 1

        elif user.paid_customer == 1:
            total_paid = total_paid + 1

        elif user.created_account == 0 and user.paid_customer == 0:
            total_others = total_others + 1


    data = [total_registered, total_paid, total_others]

    return render(request, 'pie_chart.html', {
        'labels': labels,
        'data': data,
    })

@10号代表,不确定你是否改变了什么?看起来不像。你有什么意见吗?谢谢你的帮助!我修正了你的格式。它被缩进了4个空格,有些人会投你反对票。如果你想知道我到底做了什么,请单击“加”,我对django一无所知。对不起。@10代表,好的,谢谢。我不知道,但是谢谢你的提示@rmoore35您需要显示您得到的全部错误。另外,您使用哪个库来制作图表?