[英]Django create a new column in an already existing table
我正在使用 Django 3.0.5,我正在嘗試在表中創建一個新列。
該表如下所示:
class VacationModel(models.Model):
first_name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100)
emp_id = models.IntegerField()
email = models.EmailField()
from_date = models.DateField()
to_date = models.DateField()
reason = models.TextField()
time_sent = models.DateTimeField("date sent")
req_approved = models.BooleanField(default=False, null=True)
req_denied = models.BooleanField(default=False, null=True)
# daysoff_given = models.IntegerField()
def __str__(self):
return self.emp_id
新列將是daysoff_given
。 我嘗試添加此列,在運行python manage.py makemigrations
我收到一條錯誤消息,說django.db.utils.OperationalError: no such column
我嘗試遵循其他一些答案,並刪除了在migrations
文件夾中進行的migrations
,但沒有刪除__init__.py
文件。 再次運行makemigrations
后,發生了同樣的錯誤,然后我刪除了整個模型並創建了一個新模型。
我認為我的數據庫壞了,但是有沒有實際的方法可以避免這種情況,因為它已經發生了兩次。
每當我嘗試添加新列時,它總是會拋出該錯誤並且我無法繼續。 我怎樣才能解決這個問題?
我認為問題在於您創建了遷移但沒有應用它們。 確保在模型中添加列后運行以下兩個命令。
python manage.py makemigrations
python manage.py migrate
它不起作用,請編輯您的問題並添加完整的引用錯誤以幫助我們了解導致錯誤的原因。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.