首页 > 解决方案 > 获取错误 DecimalFields 必须定义一个 'max_digits' 属性

问题描述

我对这些 DecimalField 类型有疑问。

我有下一个模型:

class Mediciones(models.Model):
    id = models.AutoField(primary_key=True)
    nombre = models.CharField(max_length=30, verbose_name='Nombre dispositivo')
    dispositivo = models.ForeignKey(Dispositivos, on_delete=models.CASCADE)
    temperatura = models.DecimalField(max_digits=5, decimal_places=2)
    humedad = models.DecimalField(max_digits=5, decimal_places=2)
    ruido = models.DecimalField(max_digits=7, decimal_places=2)
    c02 = models.DecimalField(max_digits=7, decimal_places=2)
    alerta = models.BooleanField(null=False)
    fecha = models.DateTimeField(verbose_name="Fecha", blank = False)

如您所见,我有四个DecimalField,它们都定义了“max_digits”和“decimal_places”,并且max_digits大于decimal_places。尽管如此,我还是收到了错误“DecimalFields 必须定义一个‘max_digits’属性。” 当我尝试进行迁移时。你知道为什么吗?

提前致谢!

标签: djangodjango-modelsdjango-migrations

解决方案


最后我设法解决了。问题不在于语法,而似乎在于 Python 缓存。我意识到在更改某些字段时它不断出现(尽管我删除了给出错误的字段),所以我认为我没有检查文件。我删除了“pychache”和“migrations”文件夹,进行了新的迁移,并且成功了。


推荐阅读