Django:使用SQL手动更改模型字段有哪些缺点?

时间:2014-01-24 11:51:20

标签: python sql django django-models

由于syncdb不会改变现有的表[1],我想知道登录数据库和改变结构的缺点是什么。

更具体地说,我想知道如果我更改字段的长度或类型(例如INTBIGINT)可能会触发哪些潜在问题。

Django试图截断或改变值以适应模型中定义的范围会有任何问题吗?

2 个答案:

答案 0 :(得分:1)

下行?如果你在谈论简单的项目,那么就没有了。做任何让你高兴的事:)。如果项目变大,那么请阅读下一段:P

如果它是较大的项目并且有其他贡献者(即使它没有),您需要对其进行版本控制。因此,手动更改很糟糕。因为你不能在不改变数据库的情况下回到早期版本....但是......

但是既然你正在谈论手动这样做,我觉得,我需要指出http://south.aeracode.org/

的存在

这是完全由于您或许不应该手动执行此操作而创建的。

顺便说一句。我在这里徘徊,在脸颊上说话......不要认真对待这篇文章:P

答案 1 :(得分:1)

Django South是此问题的解决方案。这是一个“必须拥有”的应用程序(在这里我将不同意@ OdifYitsaeb的答案)在任何项目中,而不仅仅是大项目。它是如此简单和强大,如果你甚至在一个小小的个人项目中不使用它,你实际上是为自己创造了更多的工作。

很快就会在(我相信)1.7中加入Django核心,所以现在熟悉它是个好主意。