django 可重用应用程序:删除迁移中的依赖项?

Posted

技术标签:

【中文标题】django 可重用应用程序:删除迁移中的依赖项?【英文标题】:django reusable app: remove dependencies in migrations? 【发布时间】:2018-10-19 09:19:14 【问题描述】:

我正在为 django-cms 编写一个可重用的 django 应用程序。它将提供一些 cms-plugins 和一个插件框架。我已经为我的插件创建了迁移。

我前段时间开始使用它,第一个插件和它的迁移是使用django-cms==3.4.something 创建的,它们在迁移文件中引用了这样的依赖项:

dependencies = [
    ('cms', '0016_auto_20160608_1535'),
]

现在我在另一台计算机上再次处理该项目,将 django-cms==3.5.2 安装到我的 virtualenv 中。对于新插件,这会创建新的迁移,如下所示:

dependencies = [
    ('cms', '0020_old_tree_cleanup'),
]

显然,这个新的迁移不能用于旧的 cms 项目,使用 django-cms 3.4.x,因为所需的依赖迁移不存在。

问题:我应该将3.4.x 迁移依赖项添加到我新创建的迁移中吗?还是从我的迁移中完全删除这些依赖项会更好(我怀疑......)?

【问题讨论】:

【参考方案1】:

是的,如果您的插件需要使用 3.4.x,请添加 3.4.x 迁移依赖项。

3.5 上的新迁移不会更改任何插件架构。

【讨论】:

以上是关于django 可重用应用程序:删除迁移中的依赖项?的主要内容,如果未能解决你的问题,请参考以下文章

为可重用的 Django 应用程序创建迁移

在实际生产项目中部署(管理依赖)django 可重用应用程序的最佳实践是啥?

从旧模块中删除依赖于自定义字段的 Django 迁移

Django pymssql 迁移

如何正确删除 Maven 项目中的依赖项

创建具有 3rd 方依赖项的可安装 Django 应用程序