簡體   English   中英

Django 在現有表中創建一個新列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM