浅谈Django学习迁移和makemigrations的差别

  

本文主要研究的是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的差别的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

浅谈Django学习迁移和makemigrations的差别