Когда я пытаюсь выполнить следующий расчет:Исключение при получении данных из формы Django
self.total * ((100 + self.tax)/100)
я получаю:
unsupported operand type(s) for +: 'int' and 'tuple'
Я получаю значение с:
offer = offer_form.save(commit=False)
offer.tax = offer_form.cleaned_data['tax'].value,
I предполагается, что значение value должно дать мне значение формы, которое в этом случае является ChoiceField. Я использовал для создания объекта, как в следующем, и он используется для работы:
offer = Offer(
...
tax=offer_form.cleaned_data['tax_model'].value,
...
)
models.py
Налогового поля в предложении:
tax = models.DecimalField(default=0, max_digits=5, decimal_places=2, validators=[MinValueValidator(0),MaxValueValidator(100)])
Налогового объекте я выбираю из ChoiceField:
value = models.DecimalField(max_digits=5, decimal_places=2, validators=[MinValueValidator(0),MaxValueValidator(100)])
Когда я печатаю offer_form.cleaned_data ['tax']. Значение это то, что я получаю:
65.00
Мой вопрос: зачем он работал, когда я использовал метод Instance(), а не когда я присваиваю значение переменной. А также, как я могу заставить его работать?
Я не могу поверить, что я провел 2 часа с этой глупой ошибкой синтаксиса. –
случается с лучшими из нас ;-) – thebjorn