Как полностью сбросить данные для Django-CMS - PullRequest
19 голосов
/ 24 февраля 2010

У меня есть экземпляр Django-CMS, уже работающий в производственной среде. Я хотел бы сбросить все данные, относящиеся к CMS (PAGES и PLUGINS), чтобы я мог загрузить их обратно в свою среду разработки.

Когда я делаю python manage.py dumpdata cms, он сбрасывает большую часть данных, но не все. Ни один из содержимого для плагинов не сбрасывается. Когда я смотрю на источник django-cms, я вижу, что плагины расположены в другой папке, чем остальные модели - я уверен, что это связано с поведением dumpdata.

Кто-нибудь знает, как они добьются того, что я пытаюсь сделать?

Спасибо за вашу помощь / ответы!

Ответы [ 4 ]

18 голосов
/ 09 февраля 2011

Встроенные в Django команды dump и restore хорошо работают для переноса содержимого CMS.

Чтобы получить дамп содержимого CMS, вам нужно включить как приложение cms, так и каждый из типов плагинов, которые вы используете в команде dumpdata, что-то вроде:

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

для выгрузки содержимого (вам просто нужно имя приложения, а не полный путь, как cms.plugins.text).

12 голосов
/ 14 апреля 2010

Вот обновление к используемой мной процедуре:

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

Philipp

4 голосов
/ 08 июня 2014

Для 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

2 голосов
/ 24 февраля 2010

Ваша команда dumpdata выводит только данные для приложения cms, но каждый плагин (cms.plugins.text, cms.plugins.picture и т. Д.) Является собственным приложением, поэтому его необходимо добавить в командную строку.

...