Django原理,django orm原理

  Django原理,django orm原理

  姜戈迁移规范概述姜戈的数据库相关的迁移操作,大体包括进行迁移和移动两个步骤。

  生成迁移文件

  修改模特-添加一个领域或者删除一个型号-然后运行进行迁移:$ python管理。py为“books”进行迁移迁移:books/migrations/0003 _ auto。py:-更改书上的字段作者在所有迁移文件过程中,型号将扫描并比较最近的版本文件,然后生成一系列新的迁移。然而这个迁移命令并不完美,有些复杂情况可能没有处理好导致迁移失败。最好,可以去检查下迁移,新的改变会不会导致冲突。

  迁移数据

  一旦生成了新的迁移文件,为了迁移作用于数据库,应该执行以下指令:$ python manage.py要执行的操作:应用所有迁移:书籍运行迁移:呈现模型状态.完成应用书籍。0003 _自动.好还可以为迁移,取个名字姓名,并且可以指定某个应用你的应用标签:

  $ python manage。py进行迁移-名称已更改_ my _ model your _ app _ label查看迁移状态-在数据库中,已经生效的[X],还未生效的[]F:\ experiments \ my _ blogpython manage。py showmigrationadmin[X]0001 _ initial[X]0002 _ log entry _ remove _ auto _ add auth[X]0001 _ initial[X]0002 _ alter _ permission _ name _ max _ length[X]0003 _ alter _ user _ email _ max _ length[X]0004 _ alter _ user _ username _ opts[X]0005 _ alter _ user _ last _ log in _ null[X]005原理文件夹迁移appsmy_appmigrations # python经理。py进行迁移运行会生成以下文件 0001_initial.py #如果文件夹没有迁移文件,第一次运行则生成左边文件 0002_article_tags.py #之后每次运行进行迁移命令,都会一次递增生成迁移文件。命名方式:四位数_型号名_属性名py .代码内容0002 _文章_标签。来自姜戈的py。导入迁移,模型类迁移(迁移。迁移):#依赖域我的应用程序中的 0001_initial.py ,如果依赖文件不存在,会报错。依赖项=[ (my_app , 0001_initial ),] #数据库迁移操作,结合依赖:在原0001_initial.py 基础上,新增字段-标记操作=[迁移AddField( model_name=article ,name=tags ,field=models .CharField(默认值= ,最大长度=30),]数据库表姜戈_移民每次python manage.py迁移,生效之前会在此表中查询执行到的步骤,生效之后迁移的迁移文件都会在此表中有记录

  规范数据库表已经有数据,新增字段需要设置默认数值类文章(模型。模型):发布日期=模型DateField() headline=models .CharField(max_length=200)内容=模型TextField() #新增属性,如下desc=模特CharField(max_length=300,默认值= )如果没有,默认="",默认数值设置,会有以下提示:

  f:\ experiments \ my _ blogpython manage。py进行迁移您正在尝试将不可为空的字段《desc》添加到没有默认值的项目中;我们不能这样做(数据库需要一些东西来填充现有的行)。请选择一个修复方法:1)立即提供一个一次性默认值(将在此列的所有现有行上设置为空值)2)退出,让我在模型中添加一个默认值。由于团队多人开发,对负责的模块app,做好迁移文件的版本控制。避免出现迁移文件的丢失,导致迁移依赖关系节点缺失报错姜戈。db。迁徙。例外情况。nodenotfounderror:迁移my_app。0002 _文章_ desc依赖项引用不存在的父节点(我的应用, 0001_initial )出现迁移文件的丢失,当然有一种方法是把所有迁移文件删除,重新生成,再迁移,但新增的修改不会移动于数据库。原因是数据库版本控制和项目迁移失去同步。

  f:\ experiments \ my _ blogpython manage。py迁移要执行的操作:应用所有迁移:管理、授权、内容类型、我的应用程序、会话运行迁移:没有要应用的迁移。以下是数据库与本地项目迁移失去同步,挽救措施:

  先不要将模型修改代码添加进去,作为一个最初的原点f:\ experiments \ my _ blogpython manage。 my _ app 的pymakegmigrationmigrations:apps \ my _ app \ migrations \ 0001 _ initial。派-创建模型文章-创建模型报告器-创建模型报告器2使用迁移-伪造-初始参数,将刚刚生成的迁移脚本,标记为已经完成(因为这些模型相对应的表,其实都已经在数据库中存在了,不需要重复执行了f:\ experiments \ my _ blogpython manage。py迁移-假-初始要执行的操作:应用所有迁移:管理、授权、内容类型、我的应用程序、会话运行迁移:没有要应用的迁移。将模型修改代码添加进去,之后操作不变化python管理。py让迁移python管理。py迁移参考姜戈官网-移民

  分段故障-重置姜戈移民的常见方式

  csdn - django-关于manage.py迁移无效的问题

  如何使用半铸钢钢性铸铁(铸造半钢)设置差异半透明的效果

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: