为什么Django不"真正"支持自动表更新?

isr*_*kir 1 mysql django django-database

最近我一直在努力学习Django中的web开发,我很高兴...

但是,有一点真的很烦人 - 特别是当你了解django背后的'简单'哲学时.

这是在django中更新表格真的远离我刚刚经历的简单性.

例如,就像我的真实案例一样,我在开头跳过为条目标题添加一个slug字段.但过了一段时间,我想在表格中添加一个slug列,就像每个人一样 - 这是django中的新手可能期望的,我试过python manage.py syncdb命令.当然它不起作用......经过一番搜索后我发现"我需要在dbshel​​l命令行中手动添加一个新列"(我使用的数据库是mysql).

我不知道为什么,但我认为这是一个非常有趣的事情,在我看到在django中创建一个简单的网站之后,我从未想到过.难道你们都不这么认为吗?或者,如果您有任何其他解决方案或任何其他问题,请与您分享?

提前致谢...

PS.我不介意在shell中与db相处,但我想知道的是为什么它在django中就像那样...

Sin*_*ion 6

数据库迁移是django项目的一个目标,但这是一个非常困难的主题,它并没有在前几个版本中结束.出现了一些迁移项目来填补这一空白,每个项目都以不同的方式解决了这个难题.django团队决定让这些解决方案不断发展并从作物中挑选出一个解决方案,而不是尝试创建额外的迁移解决方案,或者在任何成熟之前祝福"官方"状态,或者至少成为单一首选解决方案.在以后与django一起发货.

至于有关这些第三方迁移工具的更多信息,请查看此问题的答案.