Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.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
Django:此数据库后端不支持字段上的DISTINCT_Django - Fatal编程技术网

Django:此数据库后端不支持字段上的DISTINCT

Django:此数据库后端不支持字段上的DISTINCT,django,Django,如何修复django中此数据库后端不支持的DISTINCT ON字段 total = grade.objects.values('Grading_Categories').annotate(Average= Avg('Average')).filter(Teacher = m.id).distinct('Grading_Categories') 这是我的模特 class finalrating(models.Model): Teacher = models.ForeignKey(Emp

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

total = grade.objects.values('Grading_Categories').annotate(Average= Avg('Average')).filter(Teacher = m.id).distinct('Grading_Categories')
这是我的模特

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')

我希望您正在尝试通过结果获得一个分组,具有不同的
评分类别

那么,试试这个

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

total=grade.objects.values('Grading_Categories')。annotation(Average=Avg('Average'))。filter(Teacher=m.id)。order_by('Grading_Categories')
我希望您尝试得到一个分组依据的结果,具有不同的
评分类别

那么,试试这个

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

total=grade.objects.values('Grading\u Categories')。注释(Average=Avg('Average'))。筛选(Teacher=m.id)。排序依据('Grading\u Categories')
这是否回答了您的问题?@ArakkalAbu先生,我想不是因为我的问题中包含了注释来计算最终的平均值,你用的是哪一个DB?Postgres@ArakkalAbu先生,这个回答你的问题吗?@ArakkalAbu先生,我认为这不是因为我的问题中包含了用于计算最终平均值的注释,您使用的是哪一个DB?Postgres先生@ArakkalAbui在复制您的答案时有一个错误@Arakkaibo“”“Avg不允许区分。”“”“我在复制您的答案时有一个错误@Arakkaibo”“Avg不允许区分。”“””