今天我遇到了这样一个问题。我有一个带有十进制字段的Django表单和一个带十进制字段的模型。
UPD:
class Payment(models.Model):
txn_id = models.DecimalField(unique=True, db_index=True, max_digits=28, decimal_places=0, verbose_name=_('transaction ID'))
sum = models.DecimalField(max_digits=18, decimal_places=2, verbose_name=_('amount'))
txn_date = models.DateTimeField(verbose_name=_('date'))
account = models.CharField(max_length=50, verbose_name=_('account ID'))
created_on = models.DateTimeField(auto_now_add=True, editable=False)
class PaymentForm(PaymentIdForm):
command = forms.ChoiceField(choices=[(x, x) for x in COMMANDS])
sum = forms.DecimalField(max_digits=18, decimal_places=2, min_value=1)
txn_date = forms.DateTimeField(input_formats=['%Y%m%d%H%M%S'], required=False)
当我用值1000000.00填充表单字段然后保存它,在mysql中我看到它保存为99999.99。
可能是什么问题?
已解决:我的数据库未同步。在MySQL字段中声明为十进制(7,2)。 根据我的理解,保存的值是99999.99而不是999999.99。