django.db.utils.OperationalError:没有这样的列:django_content_type.name?

时间:2015-09-09 11:30:47

标签: 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)

当我正在处理我的项目并运行make-migrations命令时,它运行正常,但是当我运行migrate命令时,我突然遇到了上述类型的错误。

为什么会出现上述类型的错误? 我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

当尝试在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

通过使用manage.py showmigrations列出迁移,我来到了该解决方案:

contenttypes
 [X] 0001_initial
 [X] 0002_remove_content_type_name

自此以来,错误消息为django.db.utils.OperationalError: no such column: django_content_type.name,第二次contenttypes迁移明确删除了name,因此我尝试暂时还原此迁移,并且可以正常工作。