从其他人的项目迁移时,如何修复“ Django:表不存在”?

时间:2019-01-11 09:22:53

标签: mysql django django-migrations

尝试运行python manage.py makemigrations监考器时出现以下错误: django.db.utils.ProgrammingError:(1146,“表'mydatabase.invigilators_shift'不存在”)

class Shift(models.Model):
    shiftName = models.CharField(max_length=255,blank=False,unique=True)
    exam = models.ForeignKey(Exam,on_delete=models.CASCADE,related_name="shifts")
    startTime = models.TimeField()
    endTime = models.TimeField()

    def __str__(self):
        return self.shiftName

我已经清除了以前的所有迁移,并且已经创建了一个空数据库。

2 个答案:

答案 0 :(得分:1)

尝试运行这些命令

  • python manage.py 迁移
  • 删除应用迁移下的所有initial.py文件
  • python manage.py makemigrations
  • python manage.py migrate

答案 1 :(得分:-1)

第一步: 只需“剪切Models.py 中的所有模型 & 粘贴模型到任何其他文本文件或记事本

第二步: 只需“剪切forms.py 中的所有表单 & 粘贴 在您粘贴的同一个文本文件中模型

第三步:views.py 中对所有导入的模型和表单进行评论,因为我们不希望出现错误。

第四步: 在这三个步骤之后,您只需运行命令 "python manage.py migrate"。

第五步: 执行该命令后,您只需将 models.py 中的所有模型和 forms.py 中的所有表单都带回并取消注释所有导入的 views.py 表单和模型.

最后一步: 在这些所有步骤之后,您必须运行另外两个命令 1."python manage.py makemigrations" 2."python manage.py migrate"

&完成,有效。