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
Вернуться на верх