Я в небольшом гамбите с этим вопросом здесь "преобразование из метода в десятичное не поддерживается django" ошибка , когда добавление () дает мне ошибку 'DeferredAttribute' object is not callable
, а удаление их дает мне другое conversion from DeferredAttribute to Decimal is not supported
(Моя текущая ошибка с кодом ниже)
Моя цель - взять два моих значения и выяснить, что такое прибыль или убыток:
Profit_long = (цена 1 - цена 2) * размер
* Я не уверен, что математический синтаксис правильный, потому что приведенное выше сообщение об ошибке не позволит мне зайти так далеко. Из того, что я прочитал, пока эти переменные являются целыми числами, математический синтаксис должен быть правильным. Не уверен, что он будет работать с десятичными знаками. Это второй шаг. Сначала мне нужно решить вышеуказанную проблему.
views.py
class TradeDetailView(DetailView):
template_name = 'tj/cp/trade/detail.html'
queryset = Trade.objects.all()
def get_object(self):
id_ = self.kwargs.get("id")
return get_object_or_404(Trade, id=id_)
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
entry_price = Decimal(Trade.entry_price)
exit_price = Decimal(Trade.entry_price)
size = Decimal(Trade.size)
context['profit_long'] = (entry_price - exit_price) * size
return context
models.py
class Trade(models.Model):
...
size = models.DecimalField(null=True, blank=True, max_digits=50, decimal_places=2)
entry_price = models.DecimalField(null=True, blank=True, max_digits=50, decimal_places=2)
exit_price = models.DecimalField(null=True, blank=True, max_digits=50, decimal_places=2)
...