django - 如何在django 1.3中设置DecimalField的默认值?

时间:2013-07-18 08:27:33

标签: python django django-models

我的模特领域之一如下:

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,我还需要导入其他任何东西吗? 请帮助!

3 个答案:

答案 0 :(得分:27)

您需要导入十进制。

from decimal import Decimal

答案 1 :(得分:0)

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

因此max_digits = 5和default = Decimal('99999.0')(总共6位数字,包括十进制末尾的0)是无效的Decimal,Decimal('9999.0')是正确的

答案 2 :(得分:0)

total_amount = models.DecimalField(max_digits=20, decimal_places=4, default=0.0)