gpt4 book ai didi

python - 无效的默认值 - Django 和 python

转载 作者:行者123 更新时间:2023-11-30 22:36:28 24 4
gpt4 key购买 nike

我有一个模型:

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

当我进行 makemigrations 时,它工作正常。但在迁移时显示以下错误

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

最佳答案

您的 application_type 字段的大小仅为 3 个字符,但您的默认值(和其他值)超出了该限制。只需将其扩展到 7 个字符即可。 project_type 字段也是如此。您将需要重新创建迁移。

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 所指的内容。它是以字符为单位的值的大小,而不是可能的选项数量。

关于python - 无效的默认值 - Django 和 python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44154437/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com