TypeError: неподдерживаемый тип(ы) операнда для -: 'IntegerField' и 'int'
Я пытаюсь сложить/оставить/умножить числа в forms.py, когда они разного типа, как это сделать? Заранее спасибо
MODELS.py
myyear= models.IntegerField(
db_column='XXX',
choices=mychoices,
default=str(year-1)
)
period_from = dateitstart(myyear)
UTILITIES.PY
def dateitstart(myyear):
return datetime.date(myyear -1, 10, 1)
Вы не можете задавать данные типа string
в IntegerField
. Также не следует вычислять по умолчанию. Измените default=str(year-1)
на default=self.previous_year
(без скобки). И создайте метод внутри в модели:
def previous_year(self, current_year=None):
if not current_year:
current_year = timezone.now().year
return current_year - 1