Подтвердить что ты не робот

Как полностью сбрасывать данные для Django-CMS

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

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

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

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

4b9b3361

Ответ 1

Django, созданный в командах дампа и восстановления, хорошо работает для переноса содержимого CMS.

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

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

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

Ответ 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

Philipp

Ответ 3

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

Ответ 4

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