2013-02-21 2 views
0

Я пытаюсь создать объект в моей view.py, который является целым числом из models.py. Обычно у нас есть списки в объектах models.py, но в этом случае это всего лишь одно число.Как получить целочисленное значение с помощью get() в views.py?

def answer(request, level_id): 
    o = Level.objects.get(id=level_id) 
    correct = o.answers.filter(value__iexact=guess).exists() <--- working boolean function 
    points = o.points.get('points') 
    values = { 'score':points } 
    return render_to_response('game.html', values) 

Это дает нам сообщение об ошибке:

Int has no attribute get.

Мы пытаемся создать точки переменной содержит число точек из нашего models.py:

class Level(models.Model): 
    points = models.IntegerField("Point Value",default=1) 

ответ

4

После того как вы ваш объект уровня, вы можете просто позвонить o.points, чтобы получить значение атрибута точек, вам не нужно звонить o.points.get('points').

Как o.points является целым числом, вы видите эту ошибку, поскольку целые числа не имеют метода .get.

+0

Наша ошибка исчезла. Отлично. Но наш механизм шаблонов не печатает {{score}} –

+0

Имеет ли значение 'points' значение? Это может быть NULL? –

+0

Да, да. Мы добавили значение в admin. Плюс дал значение по умолчанию 1, как написано в приведенном выше коде. На самом деле я смог отобразить o.points после помещения внутри другого объекта на моем уровне. Но я не могу получить одну и ту же переменную, отображаемую в моем представлении «Игра». –

Смежные вопросы