Атрибуты столбца суммы установлены на max_digits = 13, decimal_places = 7, потому что технически у вас может быть что-то вроде 10000,0000001 биткойн.
Когда я пытаюсь ввести и отправить только 0,1 биткойна в своей форме, я получаю сообщение об ошибке:
Убедитесь, что перед запятой не более 3 цифр.
Это не работает так, как ожидалось: 0,1 — это не более 3 цифр, и даже если бы это было так, я все равно мог бы установить более 3 цифр. Что здесь происходит?
модели.py
class Transactions(models.Model):
user = models.ForeignKey(User, on_delete = models.CASCADE)
coin = models.CharField(max_length = 64)
buysell = models.CharField(default = 'buy', max_length = 4)
amount = models.DecimalField(max_digits = 13, decimal_places = 7)
trade_price = models.DecimalField(max_digits = 5, decimal_places = 2)
trade_date = models.DateTimeField(auto_now = True)
формы.py
class TransactionForm(forms.ModelForm):
CHOICES = ((1, 'Buy'), (2, 'Sell'),)
coin = forms.ModelChoiceField(queryset = Coin.objects.all())
buysell = forms.ChoiceField(choices = CHOICES)
field_order = ['buysell', 'coin', 'amount', 'trade_price']
class Meta:
model = Transactions
fields = {'buysell', 'coin', 'amount', 'trade_price'}
number = round(0.1, 7)
. - person Chiefir   schedule 09.05.20180.1
. Можете ли вы подтвердить, проверив данные запроса. Кажется, что-то еще отправляется - person Resley Rodrigues   schedule 09.05.2018