【问题标题】:Django : DISTINCT ON fields is not supported by this database backendDjango:此数据库后端不支持 DISTINCT ON 字段
【发布时间】:2020-05-01 20:03:13
【问题描述】:

如何在 django 中修复此数据库后端不支持 DISTINCT ON 字段?

total = grade.objects.values('Grading_Categories').annotate(Average= Avg('Average')).filter(Teacher = m.id).distinct('Grading_Categories')

这是我的model.py

class finalrating(models.Model):
    Teacher = models.ForeignKey(EmployeeUser, related_name='+', on_delete=models.CASCADE,
                                null=True, blank=True)
    Subjects = models.ForeignKey(Subject, related_name='+', on_delete=models.CASCADE, null=True)
    Students_Enrollment_Records = models.ForeignKey(StudentsEnrolledSubject, related_name='+',
                                                    on_delete=models.CASCADE, null=True)
    Average = models.FloatField(null=True, blank=True)
    Status = models.CharField(max_length=500, null=True, choices=Pending_Request, blank=True)

我的问题来自这一行

total = grade.objects.values('Grading_Categories').annotate(Average= Avg('Average')).filter(Teacher = m.id).distinct('Grading_Categories')

【问题讨论】:

标签: django


【解决方案1】:

我希望您尝试获得具有不同 Grading_Categories 值的 GROUP BY 结果。

所以,试试这个

total = grade.objects.values('Grading_Categories').annotate(Average=Avg('Average')).filter(Teacher=m.id)<b>.order_by('Grading_Categories')</b>

【讨论】:

  • 当我复制你的答案“”““Avg 不允许不同时,@ArakkaiAbo 出现错误。”“”“”
猜你喜欢
  • 2019-06-12
  • 2022-01-19
  • 2015-04-13
  • 1970-01-01
  • 2014-02-28
  • 2016-09-05
  • 2017-03-10
  • 1970-01-01
  • 2021-11-24
相关资源
最近更新 更多