问题标签 [django-aggregation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
106 浏览

django - 过滤注释而不删除结果

考虑使用注释的模型和查询,例如 Django 文档中的以下示例:http: //docs.djangoproject.com/en/dev/topics/db/aggregation/

此查询的结果将仅包含与过滤器匹配的对象(即 book_rating 大于 3.0),并且这些对象已被注释。但是,如果我希望查询包含所有对象,但只注释与过滤器匹配的对象(或者例如用 0 注释它们)呢?或者这甚至可能吗?

0 投票
1 回答
309 浏览

django - 如何使用或扩展 Django admin 来浏览聚合数据?

我想知道如何扩展 Django admin 以便能够使用聚合数据浏览记录。

例如:浏览按日期、月份、日期、星期几聚合的数据,并查看其他字段的平均值、最大值/最小值或总计。

0 投票
1 回答
231 浏览

django - Django Queryset 基于另一个字段的排序创建一个 .values()

我正在尝试最有可能预测的数据点类别。由于代码是最好的解释:

楷模:

对于每个 DataPoint 对象,我试图value为 PredResult 找到可能性最高的对象。目前我正在使用for循环:

我想best_value在查询集中添加一个字段DataPoint。目前每个 DataPoint 大约有 5 个 PredResult 对象和大约 20,000 个 DataPoint(尽管这可能会迅速膨胀)。但是,这个 for 循环需要很长时间才能在视图中完成。

任何人都可以建议一种方法来处理这个问题吗?要么是 Django ORM 技巧,要么extra()Queryset. 还是您认为我应该在对象上使用post-save方法PredResult并直接更新对象上的字段DataPoint

如果需要,我将使用 MySQL 作为数据库后端。

0 投票
2 回答
617 浏览

django - Django 模型聚合

我有一个简单的分层模型,其中包含一个 Person 和 RunningScore 作为孩子。该模型存储有关许多用户的跑分数据,简化如下:

如果我得到一个 Person ,它带有与之关联的所有 RunningScores,这是标准行为。我的问题很简单:如果我想得到一个只有 RunningScore 孩子的 Person (假设结果更好,也就是 min(time) )我该怎么办?我阅读了官方的 Django 文档,但没有找到解决方案。

0 投票
1 回答
400 浏览

sql - Django ORM中多对多字段的复杂计数

所以我有一组可以出现在许多类别中的任务:

如您所见,每个任务都可以出现在多个任务组中。

我希望我的查询满足以下条件:

  1. 应返回所有任务组的列表。
  2. 特定组内任务数的计数。即家具(3),床上用品(2),落地灯(6)
  3. 如果特定任务组没有任务,则该组应该有 0
  4. 每个组内的任务由当前用户限制。

到目前为止,我想出的最好的是这样的:

但它会在进行计数之前过滤所有内容,因此我看不到任务组为零的任务组。

也许我很想,但我多年来一直在尝试这样做,而我在这个阶段只是想循环并自己数数。

我真的希望你能帮助拯救我的理智所剩无几!

0 投票
2 回答
7591 浏览

django - Django 条件注释

我很惊讶这个问题显然还不存在。如果有,请帮我找到它。

我想使用 annotate (Count) 和 order_by,但我不想计算相关对象的每个实例,只计算满足某个标准的那些。

也就是说,我可以按照燕子携带的绿色椰子的数量来列出燕子:

0 投票
1 回答
539 浏览

django - 根据 Django 中的最小值和最大值的差异计算平均值

我在 Django 中有两个简单的表,如下所示:

我需要找到所有会话的平均持续时间。when会话的持续时间是通过用最小值减去最大值来计算的when。我可以做这样的事情:

有更好的方法吗?

谢谢。

0 投票
1 回答
2596 浏览

python - 如何查询满足谓词的相关记录的最大计数

我正在开发一个 Django 应用程序,我遇到了一个我想评估的棘手的聚合查询。

demo我的项目的应用程序中,我声明了以下模型类来表示图书馆的馆藏:

我想查询的是单个图书馆中“有趣”书籍的最大数量,这是每个图书馆中“有趣”的书籍数量的最大值。

在 SQL 中,这是:

 

使用以下测试数据:

上述SELECT语句导致:

正如预期的那样。

是否可以使用 Django 的查询 API 来计算这个值?

0 投票
1 回答
57 浏览

django - 在 Django 中,如何检索对象的所有最新版本?

假设我正在使用 Django 对 VCS 进行建模,使用如下模型:

现在 (directory, name) 唯一标识我的系统跟踪的项目,但每个项目可能有多个修订。

我想列出所有项目,其中每个项目都有我系统的最大跟踪修订版。Django 是否为此提供了内置功能?

最坏的情况,我可以自己做,比如:

缺点是我必须从数据库中获取所有条目并循环遍历每个条目——如果可能的话,我宁愿避免这样做。

0 投票
1 回答
4789 浏览

django - 在 Django 模型的属性中使用聚合

架构描述

在此处输入图像描述

一个项目可能有多个项目项,一个项目项可能有多个购置成本。例如,资本项目 #1 包含两个项目项:

  1. 数量。购买1台生产设备
    • 从供应商处购买设备的一项购置成本为 5,000 美元
  2. 数量。1个由工作人员搭建的测试夹具
    • 12 次 1,000 美元的采购,总采购成本为 12,000 美元。

生产设备可能只有一项与购买相关的成本。然而,测试夹具可能有与构建它相关的多种成本。

欲望

我希望能够确定每个项目的总购置成本,并且我希望能够确定每个项目的总购置成本。基于上面的例子:

  • 项目 1 总购置成本 = 5,000 美元
  • 项目 2 总购置成本 = 12,000 美元
  • 资本项目总购置成本 = 17,000 美元

问题

  1. 应该total_acquisition_costs使用 Django 的聚合来计算还是保存为DecimalFieldandProject模型ProjectItem

  2. 我应该为和模型创建一个total_acquisition_costs属性吗?我的直觉是创建一个属性是肯定的。ProjectItemProject

    我的直觉是使用聚合来计算值,以避免数据库非规范化。具体来说,我倾向于使用 Django 的聚合Sum函数来创建total_acquisition_costs属性。但是,我不知道如何将聚合作为属性放在模型上,以便它只返回一个值而不是字典。

当前代码

注意:我当前的代码没有使用 Django 的聚合功能,但它可以工作。