求助老师 为什么计算结果不对

求助老师 为什么计算结果不对

这是3-12的编程作业

https://img1.sycdn.imooc.com//climg/62f8b22509c6b77c10200584.jpg

orm模型:

from django.db import models


class StudentScore(models.Model):
    name = models.CharField('姓名', max_length=64)
    subject = models.CharField('学科', max_length=64)
    score = models.FloatField('成绩', max_length=100)
    creat_time = models.DateField('year', auto_now_add=True, null=False, blank=False)

视图:

from django.db.models import Avg, Sum
from django.shortcuts import render
from .models import StudentScore


def student_score(request):
    python = StudentScore.objects.filter(subject='python')
    python_avg = python.aggregate(Sum('score'))
    return render(request, 'student_score.html', {'python_avg':python_avg})

https://img1.sycdn.imooc.com//climg/62f8b31f093a9e0f08960427.jpg

正确结果应该是86 

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
时间, 2022-08-14 17:04:39

同学,你好!

1、同学提供的代码用的是Sum()求和,需要使用Avg()求平均值

https://img1.sycdn.imooc.com//climg/62f8ba0c09745e6710770355.jpg

2、同学可以看下访问的url是否正确

祝学习愉快!

  • 提问者 _WHOAMI_ #1

    一开始用的 Avg 然后用Sum试了试 结果都不正确

    2022-08-14 17:19:38
  • 时间, 回复 提问者 _WHOAMI_ #2

    同学,你好!

    1、运行同学提供的代码,求和之后结果为258,平均为86,结果是正确的。

    2、同学可以输出一下查询到的记录,看是否是数据库中对应的3条数据

    https://img1.sycdn.imooc.com//climg/62f8c02809b4ed6613040452.jpg

    祝学习愉快!

    2022-08-14 17:32:15
  • 提问者 _WHOAMI_ 回复 时间, #3

    https://img1.sycdn.imooc.com//climg/62f8c48f090263ca16940677.jpg

    为啥只查询到两个😢

    2022-08-14 17:48:02
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师