本文主要研究的是Django中迁移和makemigrations的差,别具体如下。
在你改动了model.py的内容之后执行下面的命令:
<代码> Python马槽。py makemigrations 代码>
相当于在该应用程序下建立迁移目录,并记录下你所有的关于modes.py的改动,比如0001 _initial。py,但是这个改动还没有作用到数据库文件
你可以手动打开这个文件,看看里面是什么
在此之后执行命令
<代码> python经理。py迁移代码>
将该改动作用到数据库文件,比如产生表之类
当makemigrations之后产生了0001 _initial。py文件,你可以查看下该迁移会对应于什么样子的SQL命令
<代码> python马槽。py sqlmigrate theapp 0001 代码>
大概是这个样子的:
开始; 创建表“polls_choice”( “id”系列不是零主键, “choice_text”varchar(200)非空, “选票”整数NOT NULL ); 创建表“polls_question”( “id”系列不是零主键, “question_text”varchar(200)非空, “pub_date”时间戳与时区NOT NULL ); ALTER TABLE“polls_choice”添加“question_id”列整数NOT NULL; ALTER TABLE“polls_choice”改变“question_id”列默认下降; 创建索引“polls_choice_7aa0f6ee”“polls_choice”(“question_id”); ALTER TABLE“polls_choice” 添加约束“polls_choice_question_id_246c99a640fbbd72_fk_polls_question_id” 外键(“question_id”) 引用“polls_question”(" id ") 可延期的最初延期;提交;
以上就是本文关于浅谈Django学习迁移和makemigrations的差别的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!