python - 在 Django 数据迁移中打印到 stdout 或 stderr 是否可以?如果是这样,如何?

标签 python django django-migrations

我一直在寻找这方面的指导方针,但没有成功。在我使用的项目中 Django data migrations经常。它们看起来或多或少像文档中的示例。然而,操作有时相当复杂,最好有一些控制台输出总结执行的操作(即删除/创建/重新连接/等的内容以及原因)。

所以问题是:将这种登录编码到迁移中是否可以?如果是这样,是使用 Python 的 logging 模块还是只使用 print 更好?在前一种情况下,可能需要额外的配置才能使这些日志可见(在 settings.py 中?)。在后一种情况下,首选 stderr 还是 stdout

这个问题可以扩展到是否允许来自用户的交互式输入。内置的模式迁移工具很容易提出与数据相关的交互式问题。

Custom management commands推荐了提供控制台输出的方法,这是这个问题背后的部分动机。

最佳答案

我认为日志是实现此目的的方式。由于您要在服务器上运行迁移,因此最好将其保存到日志中,以便以后可以随时捕获它。

关于python - 在 Django 数据迁移中打印到 stdout 或 stderr 是否可以?如果是这样,如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37054682/

相关文章:

django - 使用 Django 1.7 迁移删除应用程序

sqlalchemy - 没有数据库的 Alembic 迁移

python - Pygame Sprite - 创建新 Sprite 后不活动

python - 适用于 App Engine 的 OAuth2 客户端

python - 从具有子父关系的列表开始,创建一个包含子项的父项作为列表

python - 从 Selenium 中的下拉菜单中进行选择 - 元素不可见 (Python)

python - 使用 testfixtures 在 Django 中测试日志记录时,如何使日志发射静音?

python - 无法为 Django 和 Mysql 启动 docker 构建

python - 跟踪 Django 包更新

django - 在独立的 Django 应用程序中进行新迁移的最佳方法是什么?