【问题标题】:How to completely dump the data for Django-CMS如何完全转储 Django-CMS 的数据
【发布时间】:2011-01-20 09:05:34
【问题描述】:

我有一个已经在生产环境中运行的 Django-CMS 实例。我想转储与 CMS(页面和插件)相关的所有数据,以便我可以将其加载回我的开发环境中。

当我执行python manage.py dumpdata cms 时,它会转储大部分数据,但不是全部。插件的任何内容都不会被转储。当我查看 django-cms 源代码时,我发现插件与其他模型被组织在不同的文件夹中 - 我确信这与 dumpdata 的行为有关。

有谁知道他们将如何实现我想要做的事情?

感谢您的帮助/回答!

【问题讨论】:

  • 如果您使用应用程序挂钩,您可能应该从中导出数据,以及与它们相关的模型。

标签: database django django-cms


【解决方案1】:

您的dumpdata 命令只转储cms 应用程序的数据,但每个插件(cms.plugins.textcms.plugins.picture 等)都是它自己的应用程序,因此需要添加到命令行。

【讨论】:

  • 能否请您展示您使用的 dumpdata 命令的工作示例? (谢谢)
  • 呃,不,但我不使用 Django-CMS。您可能想尝试在 Freenode 上的 #django 中提问。
【解决方案2】:

这是我使用的程序的更新:

./manage.py dumpdata >fixtures/all.json

psql
DROP DATABASE [DBNAME];
createdb -T template_postgis [DBNAME]

./manage.py syncdb

psql [DBNAME]

delete from auth_group_permissions; delete from auth_permission; delete from django_admin_log; delete from django_content_type;

如果你不删除上面的表格,你会在加载夹具时得到这个错误:

IntegrityError: duplicate key value violates unique constraint django_content_type_app_label_key

然后:

./manage.py loaddata fixtures/all.json

菲利普

【讨论】:

    【解决方案3】:

    Django 内置的转储和恢复命令非常适合迁移 CMS 的内容。

    要转储 CMS 的内容,您需要在 dumpdata 命令中包含 cms 应用程序以及您正在使用的每种插件类型,例如:

    manage.py dumpdata cms text picture link file [other plugin types] > cms_export.json
    

    转储您的内容(您只需要应用名称,而不是完整路径,例如cms.plugins.text)。

    【讨论】:

    • 您可能想要使用 --indent=4 以便更好地阅读输出并查看是否缺少某些内容,或者进行编辑。
    • 另外,如果你想既懒惰又准确 - 使用 cms 命令列出使用过的插件以确定你实际需要的插件,如下所示:python manage.py cms list plugins这将仅显示正在使用的插件 - 因此实际上具有需要导出的内容的插件。
    • 这对于 CMS 3.0 也更为重要,其中插件已移动/已重命名并且不再是 CMS 应用程序的一部分。
    【解决方案4】:

    对于 DjangoCMS 3.0,语法相同,但插件的名称已全部更改。获取所有标准插件:

    ./manage.py dumpdata cms djangocms_column djangocms_file djangocms_flash djangocms_googlemap djangocms_inherit djangocms_link djangocms_picture djangocms_style djangocms_teaser djangocms_text_ckeditor djangocms_video > cms_export.json

    【讨论】:

      猜你喜欢
      • 2012-09-16
      • 1970-01-01
      • 2011-12-07
      • 1970-01-01
      • 1970-01-01
      • 2017-04-22
      • 2015-10-11
      • 2023-03-29
      • 2020-03-13
      相关资源
      最近更新 更多