Django-south是一个一直挂在耳边,但是没有尝试过的django的插件。这次项目用到,刚好补充一下。
什么是Django-South?
South是方便Django应用进行数据库迁移/变动的这么个应用。它的宗旨是提供一个简单,稳定和数据库独立迁移层,以此来摒弃那些随着时间变化model的schema发生变化所带来的麻烦。
上面是官方大致翻译,通俗来讲,就是帮你把model中字段的变化,同步到数据库的表中。
为什么需要它?
写过Django项目的同学,必然会遇到这个问题:定义好model之后,开发业务功能,不断的测试,发现model要改,怎么办? python manage.py sqlall 出来新添加的model中的字段,然后参照着到数据库通过 alter 修改表。
这样的变更是个细心的工作,一不小心,你的字段名写错,或者类型写错,然后你上线了,网站挂了。
因此需要这么样的一个工具,来弥补Django只能在第一次创建表的不足。South会被加到Django之后的版本中: Schema Migrations for Django
如何使用Django-South?
一个好的程序使用起来必定是简单的,South和它的宗旨一样,使用简单。只需要简单几步,针对已经建好model和创建完表的应用。
安装South到install_app中
然后就是几个命令:
# 第一次使用要执行前两条 python manage.py schemamigration <app> --initial python manage.py migrate <app> --fake python manage.py schemamigration <app> --auto python manage.py migrate <app>
当然,South的功能不止这些,有兴趣或者需要的还是老实去看官方文档。
----EOF-----
微信公众号:Python程序员杂谈
微信公众号:Python程序员杂谈