return self.cursor.execute(sql, params) django.db.utils.Data



这发生在python manage.py makemirations工作正常之后。然后,当我运行python manage.py migrate时,我得到这个错误。我试过改变charfield中的max_length,同样的错误。我尝试删除和更改默认值和null,并运行makemigration,声明未检测到任何更改。

class Casting_Role(models.Model):
name = models.TextField()
min_age = models.IntegerField(default='18', blank=False)
max_age = models.IntegerField(default='100', blank=False)
ETHNICITIES = (
('BA', 'Black / African Descent'),
('WC', 'White / European Descent'),
('A', 'Asian'),
('H', 'Hispanic'),
('I', 'Indian'),
('ME', 'Middle Eastern'),
('PI', 'Pacific Islander'),
('EA', 'Ethnically Ambiguous'),
('IP', 'Indigenous People'),
('OP', 'Open'),
)
ethinicity = models.CharField(
max_length=30, choices=ETHNICITIES, default='Open')

您的代码中有两种不同的错误用法。我认为通过改变它们,你的问题将得到解决:

1)在你的Casting_Role默认值应该改变:

ethinicity = models.CharField(max_length=30, choices=ETHNICITIES, default='OP')

,因为它是您选择的默认键,并且Open是该键的值。

2)请确保您的模型与数据库同步。基于此错误,您的字段长度为3(即Casting_Role表中的max_length=3)。(如果您确定此错误来自此模型)。所以也许运行makemigrationsmigrate命令可以解决这个问题。如果您的数据/迁移文件对您不重要,您可以简单地删除数据库,删除迁移文件,然后再次运行迁移命令。

Do part2,如果您想确保数据库与模型同步的话。因为他们现在似乎不在。

相关内容

最新更新