南迁移和 django 迁移有啥区别?
Posted
技术标签:
【中文标题】南迁移和 django 迁移有啥区别?【英文标题】:What is the difference between south migrations and django migrations?南迁移和 django 迁移有什么区别? 【发布时间】:2019-02-14 22:54:24 【问题描述】:谁能解释一下南迁移和django迁移之间的区别?一个人比另一个人有什么优势/劣势?
【问题讨论】:
自从 Django 1.7 中添加了迁移后,就不再需要使用 South。 South 不适用于现代版本的 Django - 只需使用 Django 迁移。 这是你的答案 - south.aeracode.org。在 Django 1.7 之前,没有对迁移的内置支持。这就是 South 被建造和使用的原因。 由于一些限制,我必须使用 Django 1.4 版。 @PranshTiwari 那么你别无选择,只能使用 South。您不能使用 Django 迁移。这几乎使您的问题变得毫无意义。 不知道为什么要投反对票。我在 2019 年通过寻找如何在 Django 中重命名模型找到了 South。通过搜索,我登陆了south.readthedocs.io/en/latest 而不是@xyres 的链接。所以感谢 Pransh 提出这个问题,这里的 cmets 和答案帮助我解决了问题。 【参考方案1】:South 是第三方 django 应用程序,它在 Django 1.7 中引入内置迁移解决方案之前添加了对迁移的支持。除非你被一个早已死去的 Django 版本卡住,否则你完全没有理由使用 South。 FWIW,只需检查the south project's page 应该已经回答了您的问题:
South 已被弃用。
从 Django 1.7 开始,迁移被内置到 Django 的核心中。如果您运行的是以前的版本,您可以在 BitBucket 上找到存储库。
功能范围两者都非常相似(这并不奇怪,因为新的内置迁移系统作为 South 的 2.0 分支开始了它的生命),除了新系统工作得更好,特别是当您必须合并两个分支时有它自己的迁移。
【讨论】:
令人惊讶和恼人的是,如果你只是去south.readthedocs.io/en/latest,你不会发现任何关于 South 被弃用的提示。 *** 的搜索为我找到了 South,而我在 1.10 之前从未使用过 Django。我首先得出的结论是,South 是一种比 Django 内置迁移更高级的工具。以上是关于南迁移和 django 迁移有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章
陷入 django 南迁移 - TransactionManagement 错误