Django 1.7.x 及之后的版本集成了 South 的功能,在修改models.py了后运行:html
python manage.py makemigrations python manage.py migrate
这两行命令就会对咱们的models.py 进行检测,自动发现须要更改的,应用到数据库中去。python
在Django 1.6以及之前的版本中,咱们测试,当发现model要改,怎么办?sql
咱们修改了 models.py 以后,咱们运行:数据库
python manage.py syncdb
这句话只会将咱们在 models.py 中新加的类建立相应的表。django
对于原来有的,如今删除了的类,Django 会询问是否要删除数据库中已经存在的相关数据表。app
若是在原来的类上增长字段或者删除字段,能够参考这个命令:测试
python manage.py sql appname
给出的SQL语句,而后本身手动到数据库执行 SQL 。可是这样很是容易出错!code
Django 的第三方 app South 就是专门作数据库表结构自动迁移工做,Jacob Kaplan-Moss 曾作过一次调查,South 名列最受欢迎的第三方 app。事实上,它如今已经俨然成为 Django 事实上的数据库表迁移标准,不少第三方 app 都会带 South migrations 脚本,Django 1.7 中集成了 South 的功能。htm
Django 数据表更改get