问题标签 [django-management-command]
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:到默认数据库的 2 个连接?
在一个长时间运行的管理命令中,我希望有两个连接到同一个数据库。一个连接将持有一个事务以锁定某一行 ( select for update
),另一个连接将记录一些处理信息。如果进程崩溃,管理命令的新运行可以使用处理信息来跳过/简化一些处理步骤,因此需要将其记录在不同的连接中。
如何在同一个线程中创建第二个连接?我的第一个想法是添加一个与其中一个查询具有相同连接信息的default2
条目并在其中使用,但不确定这是否会导致 Django 出现问题DATABASES
default
.using("default2")
django - 如何默认激活所有管理命令的翻译?
默认情况下,我需要在所有 django 管理命令中激活翻译。目前我将这行代码放在我所有的管理命令中:
有时我忘记在我的指挥下考虑它。我需要它来发送翻译后的通知。有没有办法默认激活所有管理命令的翻译?
任何帮助表示赞赏。
django - 如何从 python manage.py test 调用 pytest-django?
我制作了名为 pytest_wrp 的自定义管理命令
所以当我打电话时
这段代码称为:
pytest_wrp
基本上有这个代码:
但这调用pytest
不是pytest-django
因此,我传递的额外参数没有得到识别,pytest 无法启动测试套件。
我想为一些测试用例传递额外的参数。如果有某种方法可以直接调用 pytest-django 并在代码中传递额外的参数,那将是最佳的。
django - 如何在 Django 中使用 call_command() 在特定数据库上运行迁移?
我只是想知道在运行时$ python manage.py migrate app_name --database db_name
使用函数调用的正确语法是什么。management.call_command()
到目前为止,我有以下内容:
但是,在调用上述内容时,我在运行时收到以下错误:
我 99% 确定我可能--
错误地调用了参数?谁能指出我正确的方向?
动态应用程序的迁移如下:
django - Django 应用程序:我可以运行在依赖项中定义的管理命令吗?
我的 Django 应用程序调用my_app
了一个名为my_dependency
.
my_dependency
声明一个名为的管理命令useful_thing
有没有办法可以useful_thing
直接从my_app
start.sh 运行?
我试过直接调用它,但没有找到,但也许有一种方法可以将它配置为从特定位置查找管理命令?我是 Django 的新手,我怀疑这不是一件明智的事情。
python - 如何处理 django 应用程序中的管理命令异常?
我正在开发一个基于使用外部 ZeroMQ 消息队列的 django 应用程序 - 它一直在侦听队列,处理消息并将结果保存在数据库中。这些数据将在未来通过 API 提供给用户。
目前我正在通过自定义管理命令运行它,该命令listen
运行无限循环并且工作正常。但是,只要出现某种错误(有时会出现,它是外部数据源),命令就会终止。
处理此类错误的最佳方法是什么?我正在考虑的事情:
- Bash 脚本将在失败时重新启动命令
- 主要命令功能中的大
Try... except Exception
(但这似乎非常错误) - 一些自定义异常处理程序 - 问题是推荐的处理程序只处理视图/请求中的错误,我的命令不是视图/请求,它只是运行。
任何建议都会有用,也许是对管理命令的滥用?
python - EmailMultiAlternatives 不发送密件抄送电子邮件
我有一个这样定义的 Django 管理命令:
我将电子邮件内容设置为输出到文件。当我运行管理命令时,这就是我得到的:
在电子邮件标题中,我看不到密件抄送。这是为什么?为什么我的 EmailMultiAlternatives 不包括 Bcc 标头?
python - 将日期字符串传递给 Django 管理参数
我有一个 Django 管理命令,我这样传递:
python manage.py tenant_command generate_weekly_invoice --start_date 2020-11-30 00:00:00 --end_date 2020-12-06 23:59:00 --schema=schema_name
这不起作用,我收到一条错误消息:
参数 1 必须是 str,而不是 None
我怀疑这与日期的实际字符串的2020-11-30 00:00:00
格式化方式有关。我的管理命令代码如下
generate_weekly_invoice.py
任何帮助表示赞赏
*** 编辑:
我应该解释一下,我已经用引号传递了字符串,但它仍然返回相同的错误。
python - Django 中的嵌套管理命令
无论如何在 Django 中创建嵌套管理命令,类似于docker
andkubectl
有什么?例如,假设我需要具有以下结构:
以下命令应该都是可能的:
argparse子解析器看起来很有希望,但我觉得应该有一种更简单的方法在app/management/commands
或类似的东西中使用 python 模块。