__str__ вернул не-строку (тип float) - PullRequest
0 голосов
/ 30 марта 2020

Хотя есть много вопросов такого типа, но ни один из них не относится к типу float. Я пытаюсь отправить значение с плавающей точкой в ​​мой шаблон django.

models.py:

class BudgetInfo(models.Model):
    items= models.CharField(max_length=20)
    cost= models.FloatField(blank=False, null=True)
    date_added= models.DateField()
    user= models.ForeignKey(User, on_delete= models.CASCADE)

    def __str__(self):
        return self.cost

views.py (после входа в систему, перенаправив его в это представление):

def app_view(request):
    budget_qs=BudgetInfo.objects.filter(user=request.user)
    budget=budget_qs[0]
    return render(request,'tasks_notes/index.html',{'budget':budget})

index.html с использованием бюджета:

 <div class="container center">
 <h3 class='center'>Your total budget is: <span style="color:green;">{{ budget|floatformat:"-2" }}</span> dollars</h3>

Я получаю сообщение об ошибке этого типа:

__str__ returned non-string (type float)

выделение второй строки html упоминается здесь Как я могу решить это?

1 Ответ

1 голос
/ 30 марта 2020

__ str__ всегда должна возвращать строку

Кажется, это поможет вам

  def __str__(self):
     return str(self.cost)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...