python - 无法迁移 Django 应用程序 - MySQL 抛出 OperationalError "Too big scale specified"

标签 python mysql django migration

我正在尝试将我的 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/

相关文章:

django - 仅在创建新帖子时运行序列化程序的验证

mysql - Redis 排序 : How do I sort a redis hash key by given value?

php - 如何在 PHP 中抽象 mysqli 准备好的语句?

python - 从可能的目录列表中获取文件的平面列表的单行程序?

python - 在 pandas DataFrame 中设置新列以避免 SettingWithCopyWarning 的正确方法

php - 我的网站被黑客攻击,错误 MYSQL Access拒绝用户 'user' @'localhost'(使用密码 : YES)

django - 我是否要在django应用的每个页面上粘贴Google Analytics(分析),或者仅在基本模板上粘贴?

django - django ModelMultipleChoiceField设置初始值

python - 如何使用 Bio.Entrez 提取完整的 PMC 文章标题和摘要列表?

Python xml - 处理未关闭的 token