Django 1.7用Migrations替换了更早Django版本的将模型应用到数据库的方式(syncdb),原因是syncdb只能用来向数据库里添加新的模型,但不能修改或删除数据库里已有的模型。由于djangobook这个优质的中译Django教程里使用的是老的应用模型方式,因而单提出来。
模型简单说来就是我们在Django定义的数据对象的结构(比如一个Book类就是一个Model)。将模型应用到数据库,就是让数据库依据我们定义的数据对象来建表,和表的关系。
仍以djangobook模型里所举的books这个app为例。只要你用的是Django 1.7版本,在books中就会自动生成migrates这个文件夹。Django就是依据migrates这个文件夹来将模型应用到数据库。
在books的models.py中新建好三个模型Author, Book, Publisher之后,先为books应用创建一个新的migrates,其实就是修改migrates文件夹里的文件
python manage.py makemigrations
会显示:
Migrations for 'books':
0001_initial.py:
-