django.db.utils.OperationalError:(1426,“为'价格'指定的精度太高200。最大值为65。”)

时间:2018-10-22 04:36:03

标签: django

我正在尝试DecimalField,我将参数max_digits设置为200,

price = models.DecimalField(max_digits=200, decimal_places=2)

它显示了错误:

  

django.db.utils.OperationalError:(1426,“精度太高200   指定为“价格”。最大值为65。“)

price = models.DecimalField(max_digits=65, decimal_places=2)

所以我将其更改为65,但它仍然显示相同的错误:

  

django.db.utils.OperationalError:(1426,“精度太高200   指定为“价格”。最大值为65。“)

2 个答案:

答案 0 :(得分:0)

在模型字段中进行更正

  • 删除“ 您的应用名称
  • 下的“ migrations”文件夹
  • 运行python manage.py makemigrations your_app_name
    新表应该已经创建
  • 运行python manage.py migrate

它与Django 2.1中的MySql一起为我工作。

答案 1 :(得分:0)

在互联网上搜索后,我执行了以下步骤,并且成功了。

  1. 从app_name和内部项目名称中删除pycache。
  2. 运行命令python manage.py makemigrations
  3. 然后运行,python manage.py migration **