bju*_*son 5 python django django-orm django-queryset
所以我有一个处理测试结果的Django应用程序,我试图找到某个评估的中位数分数.我认为这会奏效:
e = Exam.objects.all()
total = e.count()
median = int(round(total / 2))
median_exam = Exam.objects.filter(assessment=assessment.id).order_by('score')[median:1]
median_score = median_exam.score
Run Code Online (Sandbox Code Playgroud)
但它总是返回一个空列表.我可以用这个得到我想要的结果:
e = Exam.objects.all()
total = e.count()
median = int(round(total / 2))
exams = Exam.objects.filter(assessment=assessment.id).order_by('score')
median_score = median_exam[median].score
Run Code Online (Sandbox Code Playgroud)
我只是不想查询整套考试.我想过只编写一个原始MySQL查询,看起来像:
SELECT score FROM assess_exam WHERE assessment_id = 5 ORDER BY score LIMIT 690,1
Run Code Online (Sandbox Code Playgroud)
但如果可能的话,我想留在Django的ORM中.大多数情况下,我只是在困扰我,似乎无法使用带有过滤器和限制的order_by.有任何想法吗?
| 归档时间: |
|
| 查看次数: |
11942 次 |
| 最近记录: |