20

実稼働環境で既に実行されている Django-CMS のインスタンスがあります。CMS (PAGES と PLUGINS) に関連するすべてのデータをダンプして、開発環境にロードできるようにしたいと考えています。

私が行うpython manage.py dumpdata cmsと、ほとんどのデータがダンプされますが、すべてではありません。プラグインのコンテンツは一切ダンプされません。django-cms のソースを見ると、プラグインが他のモデルとは別のフォルダーに整理されていることがわかります。これはdumpdata.

私がやろうとしていることを彼らがどのように達成するか知っている人はいますか?

あなたの助け/答えをありがとう!

4

4 に答える 4

18

Django の組み込みの dump コマンドと restore コマンドは、CMS のコンテンツを移行するのに適しています。

CMS のコンテンツをダンプするには、cms アプリと、使用している各プラグイン タイプの両方を dumpdata コマンドに含める必要があります。たとえば、次のようになります。

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

コンテンツをダンプします ( のようなフルパスではなく、アプリ名だけが必要ですcms.plugins.text)。

于 2011-02-08T23:44:41.787 に答える
12

私が使用する手順の更新は次のとおりです。

./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

フィリップ

于 2010-04-14T11:45:40.867 に答える
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

于 2014-06-08T02:25:42.653 に答える
2

コマンドdumpdataはアプリのデータのみをダンプしますcmsが、各プラグイン ( cms.plugins.textcms.plugins.pictureなど) は独自のアプリであるため、コマンド ラインに追加する必要があります。

于 2010-02-24T03:43:25.613 に答える