我是 Django 的新手。我正在為我的 django 項目使用 Mysql 數據庫。我在 models.py 中創建了模型類。在我的 models.py 中from django.db import modelsclass AuthModel(models.Model): first_name = models.CharField(max_length=255) last_name = models.CharField(max_length=255) email = models.CharField(max_length=255) username = models.CharField(max_length=255) password = models.CharField(max_length=255)我已使用以下命令將此字段遷移到我的 Mysql 數據庫中 Python manage.py makemigrations Python manage.py migrate 這是在我的數據庫中創建表,如下所示現在,我想在表中再添加一列“user_type”。我可以從數據庫中手動添加“user_type”列,但它不會將“user_type”值插入表中。因為我沒有在我的“AuthModel”中包含“user_type”列。如果我將 user_type 包含到“AuthModel”中并運行遷移命令,但它不起作用。我想將 user_type 列添加到我的表中。怎么做?
2 回答

守著星空守著你
TA貢獻1799條經驗 獲得超8個贊
首先,您應該在models.py中添加該字段
from django.db import models
class AuthModel(models.Model):
user_type = models.CharField(max_length=255)
然后 通過添加您在models.py中聲明的字段名稱來更改admin.py ,例如 -
class UAdmin(admin.ModelAdmin):
dics = ('user_type')
如果你有任何表單文件,那么也更改添加它,然后轉到終端和 -
python manage.py makemigrations
python manage.py migrate
如果終端說-
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 并提供一個值。
您的數據庫將有新的“user_type”列。

慕桂英4014372
TA貢獻1871條經驗 獲得超13個贊
將新字段添加到您的模型并重新運行遷移命令:
class AuthModel(models.Model): # ... user_type = models.CharField(max_length=255) # or whatever field you want
然后重新運行:
Python manage.py makemigrations Python manage.py migrate
您的數據庫將具有新user_type
列。
添加回答
舉報
0/150
提交
取消