问题标签 [django-postgresql]
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 - ArrayAgg() 返回字符串表示,而不是列表
希望我可以用数组聚合注释 QuerySet,我尝试了以下方法:
它基本上可以工作,除了——除非我返回一个一维数组——我只得到 PostgreSQL 数组表示的字符串作为返回值:
有谁知道如何获得可以在模板中迭代的正确 Python 列表?
python - 为 Django.db 连接对象指定只读访问权限
我有一系列集成级测试,在我的 Django 项目中作为管理命令运行。这些测试正在验证从外部来源摄取到我的数据库中的大量天气数据的完整性。因为我有如此大量的数据,所以我真的必须针对我的生产数据库进行测试才能使测试有意义。我想弄清楚的是如何定义特定于该命令或连接对象的只读数据库连接。我还应该补充一点,这些测试不能通过 ORM,所以我需要执行原始 SQL。
我的测试结构如下所示
WeatherManager.CollectWeatherData() 方法如下所示:
我想以某种方式证明这一点,以便其他人(或我)以后不能出现并意外编写会修改生产数据库的测试。
django - Django:ProgrammingError 关系不存在
为了设置新数据库,heroku
我尝试python manage migrate
了很多与relation already exists/does not exists
. 所以我按照这里django 1.9 的说明进行操作:ProgrammingError: 关系“users_user”不存在,但它不起作用。
当我跑步时migrate
这是相关部分0001_squashed_0024_auto_20161205_2214.py
当使用数据库在本地运行迁移sqlite3
但不heroku
使用postgresql
.
django - 查看执行时间很长(一分钟以上)
在我们的 Django 项目中,有一个视图可以创建多个对象(从 5 个到甚至 100 个)。问题是创建阶段需要很长时间。
不知道为什么会这样,但我想可能是因为在 n 个对象上,有 n 个数据库查找和提交。
例如 24 个对象需要 67 秒。
我想加快这个过程。
我认为有两件事可能值得考虑:
- 在一次查询中创建这些对象,因此只执行一次提交。
- 创建一个
ThreadPool
并并行创建这些对象。
这是导致问题的视图的一部分(我们在 localhost 上使用 Postgres,因此连接不是问题)
输出:
编辑:
我试图将 for 循环放入with transaction.atomic():
块中,但它似乎只有一点帮助(47 秒而不是 67 秒)。
编辑2:
我不确定,但似乎 SQL 查询不是问题:
django-orm - CONN_MAX_AGE 如何在 Django 中工作
有人可以 ELI5 CONN_MAX_AGE 做什么吗?我认为它是这样工作的:
1) 请求 #1 进来,打开到数据库的连接 1
2) 请求 #1 使用连接 1 做一些工作
3) 请求#1 完成。因为 CONN_MAX_AGE 不为零(并且尚未达到年龄),所以连接保持打开状态。
4) 请求#2 进来,Django 重新使用连接#1 到数据库。
但这似乎并没有发生。我的网站上有一个页面,每 15 秒进行一次 AJAX 轮询。在我的开发环境中,我看到打开的连接数(select count(*) from pg_stat_activity
),慢慢增长,直到最终我得到
所以我想知道我哪里出错了。CONN_MAX_AGE 是否仅用于在单个 HTTP 请求中保持连接打开?
更新:
更仔细地查看文档,我看到了这一点:
开发服务器为它处理的每个请求创建一个新线程,从而消除持久连接的影响。不要在开发过程中启用它们。
啊,这似乎意味着一个连接“属于”一个线程。(并且线程可以根据 CONN_MAX_AGE 的值打开/关闭连接)。
python - 具有不同类型的 Django ArrayField
我需要配置一个django.contrib.postgres.fields.ArrayField
对列表,其中第一个元素是浮点数,第二个元素是一个小的正整数:
我怎么能这样做?可能吗?我尝试了这样的事情,但没有奏效:
python - Postgres:使用 django 对 json 键进行值查询
我需要对 django 1.10 中的 postgres 支持的 jsonfield 上的嵌套键进行 values/values_list 查询,例如。
如果它具有以下值:
我想运行类似的查询
编辑: JSON 字段是来自 django.contrib.postgres.fields 的官方 django JSONField
django - 为什么 Django 'PostgreSQL 全文搜索' 不返回我的对象以及如何修复它?
我无法根据需要使PostgreSQL 全文搜索功能正常工作。
我有一个Verein
带有字段的模型straße
。有两个Verein
对象straße
的值为"Uhlandstraße"。
我想要实现的是搜索“Uhl”、“uhl”、“nds”、“straße”或“andstr”(你明白了)会返回这些对象。相反,它这样做:
有什么想法我需要改变才能让它像解释的那样工作吗?
python - 将 SearchVectorField 添加到 Django 中的模型
所以我正在尝试将SearchVectorField添加到 Django 中的模型中:
我知道它应该是nullable
或具有能够迁移的默认值,因此我删除了表中的所有条目以防止出现此问题。
但是,运行时出现以下错误makemigrations
:
如果桌子是空的,为什么会这样说?我不想使列可以为空,如果可以避免,我宁愿没有默认值。
我的问题是,有什么办法可以强制makemigrations
,migrate
因为如果桌子是空的,我不明白这个问题。我还有其他表,其中包含我不想删除的数据,因此无法删除数据库中的所有信息。
或者,如果选项1)
是解决方案,我将如何格式化此类字段的默认值?我认为这不是普通的文本字段?
谢谢你的帮助。