【问题标题】:Moving data between SQLite and PostgreSQL using Django extensions "dumpscript"使用 Django 扩展“dumpscript”在 SQLite 和 PostgreSQL 之间移动数据
【发布时间】:2013-02-09 23:42:18
【问题描述】:

运行runscript时得到“No Module found”如下:

我正在尝试在 Django 扩展中使用 python manage.py 转储脚本将数据从 SQLite 移动到 postgres。 (在此特定模型上使用 dumpdata 和 loaddata 时出错)

我生成了看起来不错的脚本。我的问题是我无法运行结果。文档说它必须是一个模块并在我拥有的目录中放置一个 init.py (它与 blogpostexp.py 文件位于同一目录中)所以,我再次'我在这里缺少一些基本的python知识??

第一次我使用 sqlite Django 设置文件并运行:

tom@tom-Satellite-A105:~/reschool/careers5$ python manage.py dumpscript blog.BlogPost >     blogpostexp.py
Processing model: BlogPost
Re-processing model: BlogPost 

然后我将 Django 设置文件更改为 postgres 文件并运行:

(mezz4)tom@tom-Satellite-A105:~/reschool/careers5$ python manage.py runscript blogpostexp
No module for script 'blogpostexp' found

【问题讨论】:

  • 如果我将 blogpostexp.py 移动到 careers5 目录中的“scripts”目录并运行: (mezz4)tom@tom-Satellite-A105:~/reschool/careers5$ python manage.py runscript 。 /scripts/blogpostexp 我得到:: ImportError: Import by filename is not supported.

标签: python django sqlite postgresql run-script


【解决方案1】:

知道了!您需要将生成的脚本放在“脚本”文件夹中,然后运行 ​​(mezz4)tom@tom-Satellite-A105:~/reschool/careers5$ python manage.py runscript blogpostexp 我有一些与 tzinfo= 相关的语法错误,我删除了这些错误并导入了内容!还有其他关于缺少类别的问题,但它们并没有停止导入。我想如果我是从应用程序而不是模型中生成的,我也可以得到它,但可能还有其他问题..

总而言之,如果常规的 dumpdata loaddata 方法有任何问题,这似乎是在 Django 中将 SQLLITE 移动到 postgres 的最直接的方法。

【讨论】:

  • 感谢您提及有关 tzinfo 的语法错误并提供提示。我对这个问题感到困惑。
  • 具体来说,在 Django 1.7 中,tzinfo 已被弃用。你可以使用 django.utils.timezone, django.utils.timezone.get_default_timezone()
猜你喜欢
  • 2018-05-23
  • 2020-04-22
  • 1970-01-01
  • 2016-09-04
  • 2015-01-15
  • 1970-01-01
  • 2018-07-12
  • 1970-01-01
相关资源
最近更新 更多