Подтвердить что ты не робот

Django - Как установить значение по умолчанию для DecimalField в django 1.3?

Одно из полей моей модели выглядит следующим образом:

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, мне нужно также импортировать любую другую вещь?
Пожалуйста, помогите!

4b9b3361

Ответ 1

Вам нужно импортировать Decimal.

from decimal import Decimal

Ответ 2

Когда вы получаете сообщение об ошибке по умолчанию в десятичном поле, вы также должны оплатить значение, которое max_digits ex 9 означает 8 цифр перед точкой и 1 цифру после точки.

поэтому max_digits = 5 и default = Decimal ('99999.0') (6 цифр на всех, включая конечный 0 в конце десятичного числа) - это недопустимый десятичный знак, а Decimal ('9999.0') правильный