190得票4回答
Django中的aggregate()和annotate()有什么区别?

Django的`QuerySet`有两个方法:`annotate`和`aggregate`。文档说明如下: `annotate()`不同于`aggregate()`,它不是终止查询。`annotate()`的输出是一个QuerySet。 https://docs.djangoproject....

59得票7回答
Django 1.11注释子查询聚合

这是一项我目前正在使用但快要失败的尖端功能。我想在现有的查询集上注释一个子查询聚合。在1.11之前这意味着要么使用自定义SQL,要么对数据库进行大量操作。 这里是相关文档,以及其中的示例:from django.db.models import OuterRef, Subquery, Sum ...

28得票2回答
如何在Django QuerySets上减去两个带注释的列?

我需要对两个注释列的聚合结果进行排序。 所以我想做类似于这样的事情: c = c.annotate(metric=Sum('results__metric')) c = c.annotate(metric_prior=Sum('results__metric_prior')) c = c....

23得票2回答
Django queryset注释字段为列表/查询集

我正在尝试使用Django的注释功能来创建查询集字段,该字段是某个相关模型属性值列表。queryset = ... qs = queryset.annotate( list_field=SomeAggregateFunction( Case(When(related_m...

19得票3回答
如何在Django QuerySet中连接两个模型字段?

考虑一个名为DataTable的表。它有两个字段:A和B。 我想要返回这个表中的所有行,并注释一个名为C的字段,该字段是A和B字段的拼接。 以下是我的尝试内容: from django.db.models import CharField, Value from .models impo...

17得票3回答
Django自定义复杂函数(SQL函数)

在寻找Django ORM order by exact的解决方案过程中,我创建了一个自定义的Django Func: from django.db.models import Func class Position(Func): function = 'POSITION' ...

15得票1回答
Django - 'WhereNode'对象没有属性'output_field'错误

我正在尝试查询和注释我的模型中的一些数据:class Feed(models.Model): # Feed of content user = models.ForeignKey(User, on_delete=models.CASCADE) class Piece(mode...

15得票1回答
从Django的ArrayAgg中排除空值。

我正在使用Django的面向PostgreSQL的ArrayAgg聚合器。 它很好用,但当列表为空时,我会得到[None]而不是[]。 有没有办法过滤掉这些空值? 我已经尝试将过滤器参数传递给ArrayAgg,但它没有起作用。 这是我设置的简化示例:class Image(models.Mod...

12得票3回答
Django条件子查询聚合

我的模型结构的一个简单例子如下:class Corporation(models.Model): ... class Division(models.Model): corporation = models.ForeignKey(Corporation) class Dep...

12得票1回答
Django的annotate Count与除法一起返回整数而不是浮点数

我有很多对象,其中3个对象的名称为'AAA'我按照'name'分组,并在组中注释了组内数量:my_models = MyModel.objects.order_by('name').values('name').annotate(count=Count('name')) for i in m...