Как преобразовать экземпляр models.IntegerField() в int?
Я читал Как преобразовать models.IntegerField() в целое число (плакату действительно нужна функция copy-constructor).И я искал в Google.
Но это не помогает.
что я хочу сделать:
#In app/models.py
class Foo:
a1 = models.IntergeField()
a2 = models.IntergeField()
#....
#many else
b1 = convertToInt(a1) * 3 + convertToInt(a2) *4 + convertToInt(a7) #calc by needing
b2 = convertToInt(a2) * 2 + convertToInt(a3) + convertToInt(a5) #calc by needing
#....
#many else
#b(b is price actually) will be used in somewhere else.Its type need be int for programmer-friendly using
любой совет?
P.S. Английский не является моим родным языком. Пожалуйста, простите мои синтаксические ошибки.
Поскольку вы указали в комментариях, что вам не нужно хранить производные атрибуты, я предлагаю следующее решение. Здесь атрибуты вычисляются каждый раз, и вы можете использовать их так же, как вы бы использовали атрибуты a1 и a2.
class Foo(models.Model):
a1 = models.IntegerField()
a2 = models.IntegerField()
@property
def b1(self):
return self.a1*3 + self.a2*4 # + ...
@property
def b2(self):
return self.a2*3 + self.a3 # + ...