ERROR: Field 'culture_title' doesn't have a default value 已解決
阿新 • • 發佈:2018-09-28
ima post 異常分析 報錯 man 項目 migration ont mage
報錯信息如上所示:
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
解決方法二:
MYSQL安裝目錄--->搜索打開my.ini,查找 sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 修改為 sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 然後重啟MYSQL hibernate property出現 Field ‘id‘ doesn‘t have a default value 異常分析: 出現了主鍵異常是最好解決的: 1、主鍵類型能否對上號; 2、如果使用的是註解方式,看是否忘記設置自增identity1//實體類 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 privateString content; 14 private Integer status; 15 private String date;
ERROR: Field 'culture_title' doesn't have a default value 已解決