博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在django中, 更新数据库表的时候, 对非空字段,在makemigrations时, 经常要填写缺省值
阅读量:4094 次
发布时间:2019-05-25

本文共 1695 字,大约阅读时间需要 5 分钟。

注意: 下边方法的缺省值,在生产服务器,不存在的话,会报错,

我今天就遇到这种情况,所以以后在更新库表的时候,尽量少更新步骤,
我的解决办法是: 手动在数据表中生成一个相同ID的数据,
今天的情况比较极端, 关联的表,是个空表,如果是一起的一个已经有数据的,也不太会有这个错误情况出现

================================================

You are trying to add a non-nullable field 'CreateUser' to hpost without a default; we can't do that (the database needs something to populate existing rows).Please select a fix: 1) Provide a one-off default now (will be set on all existing rows with a null value for this column) 2) Quit, and let me add a default in models.py

关于这个问题,网上有说, 把所有数据表文件,清空,重新生成, 这样做能解决问题,但也会造成灾难性后果,这个问题,我以后,还会遇到,所以今天,就想着一定要找到决定办法,功夫不负有心人, 经半天的测试,终于找到的办法

先选1,

对于一般的字段,直接填一个值就行了,

但对于ForeignKey 字段, 就很难,
今天,边学习,边摸索,发现对于ForeignKey字段的缺省值,需要是对象的ID, 对于ID为数字的,直接输入数字,就行, 对于UUID的要

'4f7f75c6-136d-443b-a5c7-9920b6324371'

下边是错误的测试

Type 'exit' to exit this prompt>>>  4f7f75c6-136d-443b-a5c7-9920b6324371Invalid input: invalid syntax (
, line 1)>>> {
UUID}4f7f75c6-136d-443b-a5c7-9920b6324371Invalid input: invalid syntax (
, line 1)>>> <4f7f75c6-136d-443b-a5c7-9920b6324371>Invalid input: invalid syntax (
, line 1)>>> Department.objects.first()Invalid input: name 'Department' is not defined>>> OrgDepart.models.Department.objects.first()Invalid input: name 'OrgDepart' is not defined>>> BigBee.apps.OrgDepart.models.Department.objects.first()Invalid input: name 'BigBee' is not defined>>> ./BigBee.apps.OrgDepart.models.Department.objects.first()Invalid input: invalid syntax (
, line 1)>>> 总部Invalid input: name '总部' is not defined>>>
<总部>
Invalid input: invalid syntax (
, line 1)>>> { 4f7f75c6-136d-443b-a5c7-9920b6324371}

直到输入正确的就通过了

转载地址:http://elvii.baihongyu.com/

你可能感兴趣的文章
JSP/Servlet——MVC设计模式
查看>>
使用JSTL
查看>>
Java 8新特性:Stream API
查看>>
管理用户状态——Cookie与Session
查看>>
最受欢迎的前端框架Bootstrap 入门
查看>>
JavaScript编程简介:DOM、AJAX与Chrome调试器
查看>>
通过Maven管理项目依赖
查看>>
通过Spring Boot三分钟创建Spring Web项目
查看>>
Spring的IoC(依赖注入)原理
查看>>
Guava快速入门
查看>>
Java编程基础:static的用法
查看>>
Java编程基础:抽象类和接口
查看>>
Java编程基础:异常处理
查看>>
Java编程基础:了解面向对象
查看>>
新一代Java模板引擎Thymeleaf
查看>>
Spring MVC中使用Thymeleaf模板引擎
查看>>
Spring Boot构建简单的微博应用
查看>>
Spring处理表单提交
查看>>
Spring MVC异常处理
查看>>
Leetcode 1180. Count Substrings with Only One Distinct Letter [Python]
查看>>