我正在尝试连接我的Django应用程序到MySQL数据库。我创建了数据库,并尝试用python manage.py migrate
迁移应用程序。此时,我得到以下错误:
django.db.utils.OperationalError: (1425, "Too big scale 100 specified for column 'score'. Maximum is 30.")
我检查了models.py
中的对象。它看起来像这样:
class Para(models.Model):
...
text = models.CharField(max_length=20000)
score = models.DecimalField(max_digits=100, decimal_places=5)
def __unicode__(self):
return self.text[:20]
因此,我将max_digits
更改为20,运行makemigrations
并再次尝试迁移。但我总是得到同样的错误。我是MySQL的新手,不知道我做错了什么。
非常感谢任何帮助。谢谢!
修改为
score = models.DecimalField(max_digits=20, decimal_places=5)
后面跟着另一个makemigmigrations将不起作用(正如您已经发现的那样),因为之前的迁移是您的服务器阻塞的地方。最简单的解决方案是删除最近的两个迁移(假设您没有进行任何其他更改)。然后运行
./manage.py makemigrations
./manage.py migrate