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