我正在使用Django;当我更改模型时,会每次出现错误。
我仅更改模型中的一个字段,并且愚蠢地得到很多错误每次。
django.db.utils.OperationalError:没有这样的表:
或
django.db.migrations.exceptions.InconsistentMigrationHistory:
或
OperationalError没有这样的列:table.colunm
或
django.db.utils.OperationalError:“表已存在”
和bla bla bla ..
我可能在Django中遇到了所有错误类型,现在它真的困扰着我。
我每次都在尝试所有解决方案:
我能找到的所有解决方案。
愚蠢地尝试所有解决方案,并且;最后,是的,我可以找到解决方案,但是,我现在真的很讨厌这种愚蠢的错误。
有什么方法可以消除Django中的迁移错误? 只有我需要这个答案; '当我仅更改模型字段时,为什么每次都会得到所有这些疯狂的错误?? !!!?'
例如:
这是我的模特:
from django.db import models
from django.conf import settings
from etahfiz.sabitler import DERS_SEVIYESI
# Create your models here.
class Student(models.Model):
systemId = models.CharField(max_length=15, unique=True )
adSoyad = models.CharField(max_length=20, blank=True)
dersSeviyesi = models.CharField(max_length=15,choices=DERS_SEVIYESI )
def __str__(self):
return str(self.systemId)
class Teacher(models.Model):
systemId = models.CharField(max_length=15 , unique=True)
user = models.OneToOneField(settings.AUTH_USER_MODEL)
adSoyad = models.CharField(max_length=20, blank=True)
def __str__(self):
return str(self.systemId)
class StuTeach(models.Model):
student = models.ForeignKey(Talebe)
teacher = models.ForeignKey(Hoca)
tarihBas = models.DateField()
tarihBit = models.DateField(blank=True, null=True)
这很好,但是;我只想向教师模型添加一个字段:
dersSeviyesi = models.CharField(max_length=15,choices=DERS_SEVIYESI )
教师模型现在是这样的:
class Teacher(models.Model):
systemId = models.CharField(max_length=15 , unique=True)
user = models.OneToOneField(settings.AUTH_USER_MODEL)
adSoyad = models.CharField(max_length=20, blank=True)
dersSeviyesi = models.CharField(max_length=15,choices=DERS_SEVIYESI )
def __str__(self):
return str(self.systemId)
我尝试迁移时的提示:
python manage.py makemigrations sinif
python manage.py migrate
错误错误错误 django.db.utils.OperationalError:“表已存在”
还是那样……
每次仅更改一个字段,就会得到Django的所有错误...
如何摆脱此类错误?
谢谢。
答案 0 :(得分:0)
转到您的数据库,找到迁移表,并删除条目。然后再次运行迁移。这时您可能面临ContentType已经存在。删除content_type表。或者,最简单的解决方案是删除数据库并重新创建,但是如果您有重要数据,则所有数据都会丢失。