报错信息如上所示:
ERROR: Field ‘culture_title‘ doesn‘t have a default value
今天做项目,在插入数据时出现了这个从没遇到的异常,结果足足纠缠了几个小时后终于搞定了,竟然是因为一个小小的问题
在此处加上null=True和blank=True后没有数据迁移
hibernate property出现 Field ‘culture_title‘ doesn‘t have a default value 异常分析:
在mysql 5.0.2之后对数据输入进行了强制性的加严处理,并且保留了以前的MySQL对非法或不当值并不严厉的行为,MySQL默认是对数据进行加严处理,但你可以为不良值选择更传统的处理方法,从而使得服务器能够拒绝并放弃出现不良值的语句。
解决方法一:(足够用了)
在数据库中对报错的字段设置默认值, 整数:0 ,字符串:设为NULL,
找到对应的表--->设计表--->默认选择框(设置默认值)
我的问题就在此处,不过是设置后,忘记对models的字段进行数据迁移了
注:数据迁移代码
python manage.py makemigrations
python manage.py migrate
解决方法二:
1 //实体类 2 3 @Entity 4 @Table(name="xt_firm_culture") 5 public class Culture implements Serializable{ 6 7 8 private static final long serialVersionUID = 1L; 9 @Id 10 @GenericGenerator(strategy="identity", name="culture_id") 11 private Integer id ; 12 private String title; 13 private String content; 14 private Integer status; 15 private String date;