一、修改ORM
1、任何关于表结构的修改,务必在对应模型类上修改。
2、在上一篇博文中,创建了bookstore_book表,如果需要再添加一个名为info(varchar 100)的字段,则需要如下操作:
(1)在模型类中添加字段

(2)执行数据迁移


(3)检查mysql数据库。修改已经同步至mysql数据库。

二、模型中常用的字段类型
1、模型中常用的字段类型。详见官方文档:https://yiyibooks.cn/qy/django2/ref/models/fields.html
2、models文件下,每一个类代表一张表,所以不限制类的数量。每实例化一次类,就相当于插入一条数据行。
3、模型类定义的一般模板:

4、字段选项,指定创建的列的额外的信息。包括:primary_key、blank、null、default、db_index、unique、db_column等。如下:

三、模型内部的Meta类
1、作用:

四、常见问题汇总
1、model中的字段未添加默认值。
2、数据库迁移的问题
(1)当项目中有多个数据库操作时,执行python migration命令总是会增量地执行,这是因为在django的后台中,有一个表django_migration用于记录执行数据库操作的状态。最新的一条数据就是最近执行的migration操作记录。

(2)问题:一般情况下,当多人协同开发时,migration文件下的文件不能提交,但是经常会由于误操作导致文件夹下的内容被提交。从而导致本地测试的版本和项目的版本出现不一致。
(3)解决办法:清除所有migration文件,删除表,并重新提交建表文件。


posted on
浙公网安备 33010602011771号