我正在尝试将我的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新手,不知道我做错了什么。
任何帮助非常感谢。谢谢!
答案 0 :(得分:0)
将其更改为
score = models.DecimalField(max_digits=20, decimal_places=5)
其他makemigrations将无效(正如您已经发现的那样),因为之前的迁移是您的服务器窒息的原因。最简单的解决方案,删除最近的两次迁移(假设您没有进行任何其他更改)。然后运行
./manage.py makemigrations
./manage.py migrate