问题标签 [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.
django - 过滤注释而不删除结果
考虑使用注释的模型和查询,例如 Django 文档中的以下示例:http: //docs.djangoproject.com/en/dev/topics/db/aggregation/
此查询的结果将仅包含与过滤器匹配的对象(即 book_rating 大于 3.0),并且这些对象已被注释。但是,如果我希望查询包含所有对象,但只注释与过滤器匹配的对象(或者例如用 0 注释它们)呢?或者这甚至可能吗?
django - 如何使用或扩展 Django admin 来浏览聚合数据?
我想知道如何扩展 Django admin 以便能够使用聚合数据浏览记录。
例如:浏览按日期、月份、日期、星期几聚合的数据,并查看其他字段的平均值、最大值/最小值或总计。
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 作为数据库后端。
django - Django 模型聚合
我有一个简单的分层模型,其中包含一个 Person 和 RunningScore 作为孩子。该模型存储有关许多用户的跑分数据,简化如下:
如果我得到一个 Person ,它带有与之关联的所有 RunningScores,这是标准行为。我的问题很简单:如果我想得到一个只有 RunningScore 孩子的 Person (假设结果更好,也就是 min(time) )我该怎么办?我阅读了官方的 Django 文档,但没有找到解决方案。
sql - Django ORM中多对多字段的复杂计数
所以我有一组可以出现在许多类别中的任务:
如您所见,每个任务都可以出现在多个任务组中。
我希望我的查询满足以下条件:
- 应返回所有任务组的列表。
- 特定组内任务数的计数。即家具(3),床上用品(2),落地灯(6)
- 如果特定任务组没有任务,则该组应该有 0
- 每个组内的任务由当前用户限制。
到目前为止,我想出的最好的是这样的:
但它会在进行计数之前过滤所有内容,因此我看不到任务组为零的任务组。
也许我很想,但我多年来一直在尝试这样做,而我在这个阶段只是想循环并自己数数。
我真的希望你能帮助拯救我的理智所剩无几!
django - Django 条件注释
我很惊讶这个问题显然还不存在。如果有,请帮我找到它。
我想使用 annotate (Count) 和 order_by,但我不想计算相关对象的每个实例,只计算满足某个标准的那些。
也就是说,我可以按照燕子携带的绿色椰子的数量来列出燕子:
django - 根据 Django 中的最小值和最大值的差异计算平均值
我在 Django 中有两个简单的表,如下所示:
我需要找到所有会话的平均持续时间。when
会话的持续时间是通过用最小值减去最大值来计算的when
。我可以做这样的事情:
有更好的方法吗?
谢谢。
python - 如何查询满足谓词的相关记录的最大计数
我正在开发一个 Django 应用程序,我遇到了一个我想评估的棘手的聚合查询。
在demo
我的项目的应用程序中,我声明了以下模型类来表示图书馆的馆藏:
我想查询的是单个图书馆中“有趣”书籍的最大数量,这是每个图书馆中“有趣”的书籍数量的最大值。
在 SQL 中,这是:
使用以下测试数据:
上述SELECT
语句导致:
正如预期的那样。
是否可以使用 Django 的查询 API 来计算这个值?
django - 在 Django 中,如何检索对象的所有最新版本?
假设我正在使用 Django 对 VCS 进行建模,使用如下模型:
现在 (directory, name) 唯一标识我的系统跟踪的项目,但每个项目可能有多个修订。
我想列出所有项目,其中每个项目都有我系统的最大跟踪修订版。Django 是否为此提供了内置功能?
最坏的情况,我可以自己做,比如:
缺点是我必须从数据库中获取所有条目并循环遍历每个条目——如果可能的话,我宁愿避免这样做。
django - 在 Django 模型的属性中使用聚合
架构描述
一个项目可能有多个项目项,一个项目项可能有多个购置成本。例如,资本项目 #1 包含两个项目项:
- 数量。购买1台生产设备
- 从供应商处购买设备的一项购置成本为 5,000 美元
- 数量。1个由工作人员搭建的测试夹具
- 12 次 1,000 美元的采购,总采购成本为 12,000 美元。
生产设备可能只有一项与购买相关的成本。然而,测试夹具可能有与构建它相关的多种成本。
欲望
我希望能够确定每个项目的总购置成本,并且我希望能够确定每个项目的总购置成本。基于上面的例子:
- 项目 1 总购置成本 = 5,000 美元
- 项目 2 总购置成本 = 12,000 美元
- 资本项目总购置成本 = 17,000 美元
问题
应该
total_acquisition_costs
使用 Django 的聚合来计算还是保存为DecimalField
andProject
模型ProjectItem
?我应该为和模型创建一个
total_acquisition_costs
属性吗?我的直觉是创建一个属性是肯定的。ProjectItem
Project
我的直觉是使用聚合来计算值,以避免数据库非规范化。具体来说,我倾向于使用 Django 的聚合
Sum
函数来创建total_acquisition_costs
属性。但是,我不知道如何将聚合作为属性放在模型上,以便它只返回一个值而不是字典。
当前代码
注意:我当前的代码没有使用 Django 的聚合功能,但它可以工作。