Django models文件模型变更注意事项(表结构的修改)
表结构的修改
1、表结构修改后,原来表中已存在的数据,就会出现结构混乱,makemigrations更新表的时候就会出错
比如第一次建模型,漏了一个字段,后来补上了。(经常遇到模型字段修改)

重新makemigrations,然后报错

数据库规则:除了新建表,如果你再次增加字段,数据库会有一些自动检测的东西(比如有没有默认值,是否允许为空)
如果表中已经有数据,这个字段还是非空的,且没有设定默认值,后台检测不通过就会报错。
解决方法(有两种):
1、新增加的字段,设置允许为空。生成表的时候,之前数据新增加的字段就会为空。(null=True允许数据库中为空,blank=True允许admin后台中为空)
2、新增加的字段,设置一个默认值。生成表的时候,之前的数据新增加字段就会应用这个默认值(default=None,默认值为空)

删除0001_initial.py,再次makemigrations

接着再往数据库推送,python3 manage.py migrate

原来是自己在数据库手动添加过,不是通过django方式的。
于是手贱想删除表,删了再次执行,发现没有变化

删表有风险,可能误删其他表,如果表不多,所以还是新建一个库,环境干净(强迫症啊)
最后完美解决

------------------------------------------------------------------------------------------------------------------
更多细节,交流QQ群:823625453
Django models文件模型变更注意事项(表结构的修改)的更多相关文章
- SOME:收缩数据库日志文件,查看表数据量和空间占用,查看表结构索引修改时间
---收缩数据库日志文件 USE [master]ALTER DATABASE yourdatabasename SET RECOVERY SIMPLE WITH NO_WAITALTER DATAB ...
- Hibernate使用自定义脚本替换注解或者xml文件中的自动生成表结构
本文作者:苏生米沿 本文地址:http://blog.csdn.net/sushengmiyan/article/details/50534361 我们都清楚,可以使用hibernate的metada ...
- POSTGRESQL 创建表结构、修改字段、导入导出数据库(支持CSV)
这两个月经常使用postgresql,总结一些经常使用的语句: --创建表 CREATE TABLE customers ( customerid SERIAL primary key , compa ...
- Mysql学习—查看表结构、修改和删除数据表
原文出自:http://blog.csdn.net/junjieguo/article/details/7668775 查看表结构 查看表结构可以用语句DESCRIBE或SHOW CREATE TAB ...
- 【转载】解决django models文件修改后的数据库同步问题——south模块
转载链接:https://www.cnblogs.com/frchen/p/5732490.html 在使用django进行开发时,往往需要根据不同的需求对model进行更改.而这时候,python ...
- MySQL修改,表结构大幅修改
------------------create table t_video_file_temp( video_id bigint not null comment '视频Id', file_md5 ...
- MYSQL 表结构的修改
-- 修改字段 默认值 ALTER TABLE house_owner ALTER COLUMN addr SET DEFAULT ""; -- 修改字段 名称 COMMENT & ...
- sqlserver表结构的修改
表添加新字段 sqlserver alter table 表名 add 新增字段名 新增字段类型 是否允许为空,如: alter table [数据库名].[dbo].[表名称] add [新增字段] ...
- mysql (mariadb)表结构添加修改删除方法总结
1,添加表字段 alter table table1 add ptel varchar(100) not Null; alter table table1 add id int unsigned no ...
随机推荐
- LODOP打印当前日期时间的方法
JS方法直接获取.之前有个详细介绍的博文:LODOP打印用JS获取的当前日期本文也再演示一下,详细介绍见上面链接的博文,该方法此文不做详细介绍. 本文有三段:1.JS获取日期,2,.LODOP的FOR ...
- x86/x64/x86_64/i386/ia32/ia64/amd/amd64 辨析
x64 = x86_64 = amd64 64位指令集,是对IA-32的扩展,由AMD提出,implemented by AMD,Intel.可兼容32位指令集(IA-32) 目前大部分64位计算机均 ...
- python学习日记(常用模块)
模块概念 什么是模块 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写的代 ...
- js手机滑块模仿
点击文本框滑动选值 手机屏幕上的上下翻滚菜单使用JS实现.经过十几个小时的折磨,终于有了最初版本.实现办法如下描述: 一.要求和方法 1.一个input输入框,点击后弹出一个翻滚菜单盖在其上,翻滚选好 ...
- Mysql高性能笔记(一):Schema与数据类型优化
1.数据类型 1.1.几个参考优化原则 a. 更小的通常更好 i.更小的数据类型,占用更少磁盘.内存和CPU缓存,需要的CPU周期更少 ii.如果无法确定哪个数据类型是最好的,就选择不会超过范围的最 ...
- <知识整理>树--堆及其应用
预备知识: 完全二叉树的定义:一个深度为k数的二叉树(设根节点的深度为1),若二叉树深度从1到k-1层都是满的,而第k层的节点都集中在左边(即第k层不存在两节点之间有空缺),那么此数就被叫做完全二叉树 ...
- 逆FizzBuzz问题求最短序列
问题描述 FizzBuzz问题:一个大于0的自然数能整除3,将输出“Fizz”:能整除5,将输出“Buzz”:能整除3和5,将输出“FizzBuzz”:否则输出自己. 逆FizzBuzz问题最短序列: ...
- CentOS部署yapi
转载自 https://www.linuxidc.com/Linux/2018-01/150513.htm 在mongoDB添加yum源时,源路径有修改,原文中的路径404不可用 一.准备工作 1.1 ...
- 第七周博客作业<西北师范大学|李晓婷>
1.助教博客链接:https://home.cnblogs.com/u/lxt-/ 2.本周应批作业0,实批作业0. 3.本周小结:本周我们助教开始准备团队项目题目,下周三之前将会进行作业提交.
- python全栈开发中级班全程笔记(第二模块、第三章)(员工信息增删改查作业讲解)
python全栈开发中级班全程笔记 第三章:员工信息增删改查作业代码 作业要求: 员工增删改查表用代码实现一个简单的员工信息增删改查表需求: 1.支持模糊查询,(1.find name ,age fo ...