19

我的模型的一个字段如下所示:

total_amount = models.DecimalField(max_digits=20,decimal_places=4,default=Decimal('0.0000'))

但是当我运行这个命令时python manage.py syncdb,它会显示这个错误:

NameError: name 'Decimal' is not defined

我已经进口from django.db import models了,我还需要进口其他东西吗?
请帮忙!

4

3 回答 3

33

您需要导入十进制。

from decimal import Decimal
于 2013-07-18T08:29:48.407 回答
3
total_amount = models.DecimalField(max_digits=20, decimal_places=4, default=0.0)
于 2020-07-14T08:42:44.293 回答
0

当您在十进制字段中收到有关默认值的错误时,您还必须注意 max_digits ex 9 表示点前 8 位和点后 1 位。

所以 max_digits=5 和 default=Decimal('99999.0') (总共 6 位,包括十进制末尾的尾随 0)是无效的十进制并且 Decimal('9999.0') 是正确的

于 2019-02-19T11:00:35.623 回答