无效的默认值-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')您删除并重新创建了迁移吗?在我删除并重新执行迁移之后,它就开始工作了!谢谢:)既然一切顺利,请接受答案(单击答案左侧的复选标记)。