我正在尝试将我的 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)
紧随其后的另一个 makemigrations 将不起作用(正如您已经发现的那样),因为之前的迁移是您的服务器正在阻塞的地方。最简单的解决方案,删除最近的两个迁移(假设您没有进行任何其他更改)。然后运行
./manage.py makemigrations
./manage.py migrate
关于python - 无法迁移 Django 应用程序 - MySQL 抛出 OperationalError "Too big scale specified",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40561070/