Python django.db.utils.OperationalError:没有这样的列:django\u content\u type.name?

Python django.db.utils.OperationalError:没有这样的列:django\u content\u type.name?,python,django,django-models,Python,Django,Django Models,我在models.py中添加了一个新模型,如下所示: class Attendence_Mgmt(models.Model): teacher_name=models.ForeignKey(Teacher_Mgmt) date=models.DateField(blank=False) intime=models.TimeField(blank=False) outtime=models.TimeField(blank=False) 当我在处理我的项目并

我在models.py中添加了一个新模型,如下所示:

class Attendence_Mgmt(models.Model):    
    teacher_name=models.ForeignKey(Teacher_Mgmt)
    date=models.DateField(blank=False)
    intime=models.TimeField(blank=False)
    outtime=models.TimeField(blank=False)
当我在处理我的项目并运行makemigrations命令时,它运行得很好,但是当我运行migrate命令时,我突然遇到了上述类型的错误

为什么会发生上述类型的错误?
如何解决此问题?

我认为问题在于更改django版本。如果您要将django升级到1.8,但它是在1.7上开发的。。。。这就是问题所在。我不确定,但尝试一下:python manage.py migrate contenttypes

在Django 2.1.5上尝试回滚迁移时,我遇到了同样的问题。迁移是使用Django 2.0+生成的

我已通过运行以下命令解决了此问题:

$ manage.py migrate contenttypes 0001_initial
$ manage.py migrate <my_app> zero
$ manage.py migrate contenttypes
$ manage.py migrate auth

因为,错误消息是
django.db.utils.OperationalError:没有这样的列:django\u content\u type.name
,第二次
contenttypes
迁移明确地删除了
name
,我已经尝试临时还原此迁移,并且成功了。

您有错误的堆栈跟踪吗?您提供的代码与错误无关(直接)为了解决这个问题,我实际上先删除了sqllite数据库,然后删除了整个迁移。然后运行makemigration,然后运行migration命令,现在运行得很好。谢谢你,我开始发疯了。你的回答让我意识到问题可能是什么。Django计算迁移顺序的方法有点糟糕,我以前在这方面遇到过问题。不知何故,我试图逆转的迁移导致Django“回到过去”,运行数据库命令,认为内容类型名称仍然存在。因为我的表中有数据,所以我无法迁移回零,所以我只是在要还原的迁移依赖项中添加了
('contenttypes','0002\u remove\u content\u type\u name')
。像一个魅力@Arial一样工作,添加依赖项真的做到了!几个小时来一直在寻找解决方案。我可以验证我的Django版本从一开始就是2.0。这看起来真的像是Django中的一个bug。我没能弄清楚出了什么问题。Django迁移的内部工作机制有点过于复杂。
contenttypes
 [X] 0001_initial
 [X] 0002_remove_content_type_name