2012-06-05 2 views
0

Я ищу способ разобрать значение integerFields и вернуть значение.Анализ целых полей как целочисленных значений

scoreChans = models.IntegerField(0) 
scoreChansSet = models.BooleanField(False) 
scoreYatzy = models.IntegerField(0) 
scoreYatzySet = models.BooleanField(False) 

scoreTotal = scoreChans + scoreYatzy 

Но это дает: TypeError: неподдерживаемый тип операнда (ов) для +: 'IntegerField' и 'IntegerField'

Есть ли способ выборки значений из этих полей?

+1

Где этот код? Пожалуйста, покажите полный контекст. –

+0

Я выбрал соответствующую часть из моих моделей.py. Остальное действительно имеет значение? – BSG

+0

Это вроде-то, потому что _where_ вы пишете код python. Если этот код, который вы написали, является автономным, это не имеет смысла. Если он находится в декларации модели, то это не имеет смысла, но по-другому. –

ответ

1

Вы можете получать значения только для экземпляров.

Предполагаете, вы хотите получить вычисленное свойство? Что-то вроде:

class MyModel(models.Model): 
    score_a = models.IntegerField() 
    score_b = models.IntegerField() 

    @property 
    def total_score(self): 
     return self.score_a + self.score_b 
+0

Прошу прощения, но как мне получить доступ к возвращаемому значению? Немного новичок в этом. – BSG

+1

Когда вы создаете экземпляр или выбираете объект этого класса, 'total_score' будет свойством, к которому вы можете получить доступ к объекту. 'obj = MyModel.objects.all() [0]', а затем 'obj.total_score' –

+0

Отлично, спасибо .. – BSG