无效的默认值-Django和python

无效的默认值-Django和python,python,django,Python,Django,我有一个模型: class Project(models.Model): project_id = models.CharField(max_length=200) project_name = models.CharField(max_length=200) description = models.CharField(max_length=20) PROJECT_TYPE_CHOICES = ( ('E-Commerce','E-Commerce'),

我有一个模型:

class Project(models.Model):
   project_id = models.CharField(max_length=200)
   project_name = models.CharField(max_length=200)
   description = models.CharField(max_length=20)
   PROJECT_TYPE_CHOICES = (
      ('E-Commerce','E-Commerce'),
      ('Business','Business'),
   )

  APPLICATION_TYPE_CHOICES = (
      ('Android','Android'),
      ('iOS','iOS'),
      ('Windows','Windows'),
  )
 project_type = models.CharField(max_length=2, choices=PROJECT_TYPE_CHOICES, 
 default='E-Commerce')
 application_type = models.CharField(max_length=3, 
 choices=APPLICATION_TYPE_CHOICES, default='Windows')

 def __str__(self):
    return self.project_name
当我进行迁移时,它工作得很好。但在迁移时,它会显示以下错误

django.db.utils.OperationalError: (1067, "Invalid default value for 
'application
_type'")

application\u type
字段的大小仅为3个字符,但您的默认值(和其他值)超过了该限制。只需将其扩展到7个字符。
项目类型
字段也是如此。您需要重新创建迁移

project_type = models.CharField(max_length=2, choices=PROJECT_TYPE_CHOICES, default='E-Commerce')
application_type = models.CharField(max_length=3, choices=APPLICATION_TYPE_CHOICES, default='Windows')

现在我看了一下,我想你把
max_length
指的是什么弄糊涂了。这是以字符表示的值的大小,而不是可能的选项数。

我按照你的建议做了,但它再次显示相同的错误!!!!project\u type=models.CharField(max\u length=10,choices=project\u type\u choices,default='E-Commerce')application\u type=models.CharField(max\u length=10,choices=application\u type\u choices,default='Windows')您删除并重新创建了迁移吗?在我删除并重新执行迁移之后,它就开始工作了!谢谢:)既然一切顺利,请接受答案(单击答案左侧的复选标记)。