Сегодня я сталкиваюсь с такой проблемой.У меня есть форма 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, как я понял.