我一直在寻找这方面的指导方针,但没有成功。在项目中,我经常使用Django data migrations。它们看起来或多或少像文档中的示例。然而,操作有时相当复杂,最好有一些控制台输出来总结所执行的操作(例如,删除/创建/重新布线的内容以及原因)。在
所以问题是:将这样的日志记录编码到迁移中可以吗?如果是这样,那么使用Python的logging
模块还是仅仅使用print
更好?在前一种情况下,可能需要一个额外的配置来使这些日志可见(在settings.py
?)。在后一种情况下,stderr
还是{
这个问题可以扩展到是否允许来自用户的交互式输入。内置的模式迁移工具很容易提出与数据相关的交互式问题。在
Custom management commands推荐了提供控制台输出的方法,这也是这个问题背后的动机之一。在
stderr应该在某些功能失效时使用。也就是说,确实有个错误。在
你应该在其他时间打印到stdout。在
因此,如果您的迁移有任何错误,我会将这些错误重定向到stderr。另一方面,我认为马歇尔X的回答是正确的。如果你需要回顾发生过的任何事情,而你使用的是印刷品,那么信息根本就不存在。在
我会用日志记录。在
我想原木是最好的选择。因为您要在服务器上运行迁移,所以最好将其保存到日志中,这样以后您可以根据需要捕获它。在
相关问题 更多 >
编程相关推荐