djangocms: переместить данные из устаревшего cmsplugin-filer - * - плагины в djangocms - * - плагины - PullRequest
0 голосов
/ 30 апреля 2018

Поскольку плагины cmsplugin-filer - * - устарели в django 3.5, мне нужен способ сохранить свои плагины, переместив их в более новые djangocms - * - плагины .

Я использую плагины cmsplugin-filer FilerFile , FilerFolder и FilerImage . Также я получил пользовательский плагин, который наследуется от FilerImage. Мне нужно переместить их в более новые djangocms-file-file, djangocms-file-folder и djangocms-picture без потери моих плагинов / данных.

1 Ответ

0 голосов
/ 30 апреля 2018

Через некоторое время, работая над миграцией, я пришел к этому решению: https://gist.github.com/wfehr/86ac31e8e263b872b746cc721662251e

Сущность обеспечивает миграцию для перемещения данных между упомянутыми сторонними приложениями, сохранения всех плагинов / данных и изменения их на поддерживаемые.

Надеюсь, это поможет кому-то, столкнувшемуся с такими же проблемами:)

(сам код миграции не может быть идеальным решением, но он выполняет свою работу)

EDIT:

Связанная миграция может использоваться в любом вашем приложении. Просто поместите его туда как следующую следующую миграцию, например, у вас уже есть «0011_added_new_model.py», а затем поместите в файл как «0012_filer_deprecation_move.py». Затем необходимо добавить миграцию 0011 в зависимости, как это видно в других (по умолчанию) миграциях.

TLDR. Вышеуказанная миграция представляет собой отдельную автономную миграцию. Он называется как любая другая миграция с python manage.py migrate [app] [migration], и вы можете поместить его в «любое» приложение, которое вы хотите (где это имеет для вас наибольшее значение).

...