the5fire的技术博客

关注python、vim、linux、web开发和互联网--life is short, we need python.


Django-South介绍

作者:the5fire | 标签:     | 发布:2013-08-12 5:35 a.m. | 阅读量: 7157, 7061
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-----

扫码关注,或者搜索微信公众号:码农悟凡


其他分类: