【问题标题】:Is there a Django South (i)python shell有没有 Django South (i)python shell
【发布时间】:2014-03-16 13:13:15
【问题描述】:

我正在准备几个 Django 模型迁移。 通常在编程时,我喜欢有一个 shell 环境(如 ipython)来实时测试/验证操作。

我知道对于 Django,我们有:

python django_app/manage.py shell

这真的很方便,因为所有 Django 对象都可用。

对于 Django 的 South 迁移,模型对象不可用。见Django GenericRelation fields not available during South migration。 有没有办法在 (i)python 中加载 South 环境,以便手动评估操作?

【问题讨论】:

    标签: python django ipython django-south


    【解决方案1】:

    我不知道有什么外壳可以像您要​​求的那样。我是否误读了您说您喜欢使用 shell 在 live 服务器上测试命令的问题?如果没有,我强烈建议不要这样做。

    您是否有理由无法仅使用manage.py shell 测试您正在尝试执行的操作?或者只是备份您的数据库并创建一个迁移脚本,运行它,然后使用向后迁移来恢复/回滚更改?

    你到底想测试/弄清楚什么?

    【讨论】:

    • 我不在实时服务器上进行测试。相反,我将数据库内容复制到测试服务器并验证我的迁移计划。我提供的链接中提到了我无法用manage.py shell 测试的那种东西。
    • 您在进行架构迁移吗?还是数据迁移?我只是想知道为什么你觉得你需要测试迁移代码。
    • 我将同时进行数据和架构迁移。我需要测试,因为我不是完美的程序员......而且可用对象的结构并不总是像想象的那样(再次,请参阅问题中的链接)。
    • 没有多少人是完美的程序员(我们是稀有品种:))。进行测试以找出答案是合理的,South 确实使替换它的 ORM 有点困难。当我需要测试/了解类似的事情时,我通常只运行一个脚本(在本例中为迁移脚本)并使用pdb 让我可以四处看看。
    猜你喜欢
    • 1970-01-01
    • 2013-09-01
    • 1970-01-01
    • 2012-12-19
    • 2012-08-09
    • 2013-12-25
    • 1970-01-01
    • 2010-09-21
    • 2013-05-09
    相关资源
    最近更新 更多