django相關問題

清风拂山岗(小高同学)發表於2024-07-08

django相關問題

orm相關問題

1.編寫orm在資料庫中新增欄位,遇到以下內容

(.venv) E:\document\py_object\fun_object\wuruntao>python manage.py makemigrations
It is impossible to add a non-nullable field 'phone' to user without specifying a default. This is because 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 manually define a default value in models.py.

這個錯誤資訊的意思是:在嘗試新增一個非空的欄位 phone 到 user 表時,如果該表已經存在資料,資料庫需要一個預設值來填充現有的記錄。因為現有的記錄可能沒有 phone 欄位的值,所以需要一個預設值來填充這個欄位。
有兩種解決方案

  • 提供一個臨時的預設值:
    1.輸入1
    2.輸入臨時的預設值【給已有記錄填充】
    
  • 在models中定義預設值【default引數】
    修改orm
    1.phone = models.CharField(verbose_name="手機號", max_length=64, 
    default="1234567890")  
    2.執行 python manage.py makemigrations
    3.執行 python manage.py migrate
    

相關文章