如何在应用程序之间移动 StreamBlock

How to move a StreamBlock between apps

我正在重构一些代码,我希望将自定义 StreamBlock(或 StructBlock)从一个 django 应用程序移动到另一个应用程序。

这似乎比在应用程序之间迁移表格简单得多。

  1. 将块声明移动到新应用程序
  2. 更新任何依赖项以指向新模块
  3. 更新旧的迁移文件(导入等)以指向新应用程序
  4. ...利润

这真的是我们需要做的全部吗?这里是否存在任何部署风险 - 或者这真的是 纯粹的 python 更改。

假设块声明本身没有改变,并且所有引用它的 StreamFields 都更新为指向它的新位置 - 是的,这是一个纯粹的 Python 改变。您甚至不需要更新迁移,因为迁移被设置为包括它们自己的 StreamBlock / StructBlock 定义的冻结副本,因为它们在创建时就存在,而不是指向其中的定义您的应用代码。