djangocms:将数据从已弃用的 cmsplugin-filer-*-plugins 移动到 djangocms-*-plugins

djangocms: move data from deprecated cmsplugin-filer-*-plugins to djangocms-*-plugins

自从 cmsplugin-filer-*-plugins are deprecated with django-cms 3.5, I need a way to keep my plugins with moving them to the newer djangocms-*-plugins.

我正在使用 cmsplugin-filer 插件 FilerFile, FilerFolder and FilerImage。我还得到了一个继承自 FilerImage 的自定义插件。 我需要将它们移动到较新的 djangocms-file-file, djangocms-file-folder and djangocms-picture 而不会丢失我的插件/数据。

经过一段时间的迁移工作后,我找到了这个解决方案: https://gist.github.com/wfehr/86ac31e8e263b872b746cc721662251e

要点提供了一个迁移,以在所述第三方应用程序之间移动数据并保留所有 plugins/data 并将它们更改为受支持的应用程序。

我希望这对面临同样问题的人有所帮助:)

(迁移代码本身可能不是完美的解决方案,但它完成了工作)

编辑:

链接迁移可用于您的任何应用程序。把它放在那里作为下一个迁移,例如你已经有“0011_added_new_model.py”,然后把它作为“0012_filer_deprecation_move.py”放在文件中。 然后你必须在依赖项中添加迁移 0011,如其他(默认)迁移中所示。

TLDR:上述迁移是一个独立的迁移。它与使用 python manage.py migrate [app] [migration] 的任何其他迁移一样被调用,您可以将其放入您想要的 "any" 应用程序(对您来说最有意义的地方)。