Mysql 在pythonanywhere.com上部署Django应用程序
在PythonAnywhere.com上部署Django应用程序时,我在迁移MySql数据库时遇到了一些问题。错误如下: django.db.utils.OperationalError:(1170,“在没有键长度的键规范中使用的BLOB/TEXT列'examname') “examname”不是我的模型中的主键。但是,我仍然得到了错误 这是我的模型:Mysql 在pythonanywhere.com上部署Django应用程序,mysql,django,Mysql,Django,在PythonAnywhere.com上部署Django应用程序时,我在迁移MySql数据库时遇到了一些问题。错误如下: django.db.utils.OperationalError:(1170,“在没有键长度的键规范中使用的BLOB/TEXT列'examname') “examname”不是我的模型中的主键。但是,我仍然得到了错误 这是我的模型: class ExamName(models.Model): examname = models.TextField(unique=Tr
class ExamName(models.Model):
examname = models.TextField(unique=True)
total_questions = models.IntegerField()
duration = models.IntegerField()
start_time = models.DateTimeField()
end_time = models.DateTimeField()
mark_per_qtn = models.IntegerField()
显示您的模型代码。@User42添加了my model您不能在列长度超过255的mysql列上保持unique=True。将examname定义为varchar,并提供小于255的maxlength。然后它就可以工作了。examname=models.CharField(max_length=150,unique=True)应该可以正常工作。您确定错误完全相同吗?如果它抱怨一个BLOB/TEXT列,如果你把它变成CharField,那会很奇怪。也许您在生成新迁移之前没有删除旧迁移?然后,它会尝试先将表迁移到使用TextField,然后再迁移到CharField,因此在第一个字段上会出现相同的错误。