是否有可能执行聚合功能Django
的RangeField
?
假设我们有3个对象BigIntegerField
price_range
。
第一个目标: price_range = [10,5000]
第二个obj: price_range = [1,5000]
第3个目标: price_range = [100,9000]
这三个对象的结果Max
和Min
汇总将是:
min = 1
和 max = 9000
我试图聚集Max
和Min
这种方式:
MyModel.objects.aggregate(Min('price_range'),Max('price_range'),)
这引起了错误:
ProgrammingError:函数min(int8range)不存在第1行:SELECT MIN(“ app_mymodel”。“
price_range”)AS“ price_range__min” FROM“ app …
您可以获取与域范围Upper(..)
和Lower(..)
这样:
from django.db.models.functions import **Upper, Lower**
MyModel.objects.aggregate(Min( **Lower(** 'price_range' **)** ), Max( **Upper(** 'price_range' **)** ))
但是请注意,如果范围不重叠(例如[0, 20]
和[50, 100]
),您仍然会得到range [0, 100]
。
from django.db.models.functions import Upper, Lower
MyModel.objects.aggregate(
**low=** Min(Lower('price_range')),
**high=** Max(Upper('price_range'))
)
我正试图在Docker上用Nginx、uWSGI和Postgres安装一个Django应用程序。我找到了一本关于为Django和Postgres设置Compose的优秀指南:https://docs.docker.com/v1.5/compose/django/ 但是,现在我需要添加Nginx和uWSGI。我试过使用这个回购协议的文件(https://github.com/baxeico/djan
我正在尝试更新我的docker映像从Python:3.8.2-alpine3.10切换到Python:3.9.0-alpine3.12,但在运行django命令ssl_check_private_key:symbol not found时遇到了一个问题。 运行检查时出现以下错误: bash-c“touch/var/donor_reporting_portal/.touch&&django-admi
问题内容: 我有一个包含多个包含整数(a1,a2,a3等)的字段的postgresql表。 我想一次跨多个列运行汇总函数(均值,标准差等)。(其中一些可能具有合理数量的空值,因此我不想只生成列平均值然后再对它们求平均值)。 我可以得到一组整数 但是我然后无法获取聚合函数以将此作为输入。 谁能给我任何有关如何使它工作的提示? 问题答案: 使用子查询,您可以使用所有行: 您还可以对行进行分组,例如:
问题内容: 我正在使用内置的Django 1.9 和Postgres 9.4。在模型的json字段中,我存储带有一些值(包括数字)的对象。我需要汇总它们以找到最小/最大值。像这样: 另外,提取特定的密钥将很有用: 上面的查询失败了 FieldError:“无法将关键字’my_key’解析为字段。不允许加入’attrs’。” 有可能吗? 笔记: 我知道如何进行简单的Postgres查询来完成这项工作
我正在用Django模板的两个勺子制作一个Django应用程序。得到这个Heroku错误,我的Postgres生产设置关闭了吗? > 操作错误/无法连接到服务器:连接被拒绝服务器是否运行在主机“localhost”(127.0.0.1)上并接受端口5432上的TCP/IP连接? 异常位置: 工头开工良好 procfile: local.py设置: DATABASES={'default':{'en
问题内容: 我正在确定一个包含大型,几乎不可压缩的时间序列数据的项目,并想知道带有原始SQL的Django + Postgres是否合适。 我有每小时约2000个对象/小时的时间序列数据。我每年要存储大约200万行,我想1)能够通过连接分割数据以进行分析,2)能够在Django的服务下进行基本的网络概述工作。我认为最好的主意是将Django用于对象本身,但直接使用原始SQL来处理关联的大型时间序列