Функция Django Datetime
Я хочу, чтобы значение 'grade' увеличивалось на 1 25 числа каждого месяца. Приведенная ниже функция, похоже, не работает. Где я могу ошибиться? Прилагаю модель и функцию.
class Student(models.Model):
student_name = models.CharField(max_length=100, null=True)
extra_role = models.CharField(max_length=100, default='None', null=True)
gender = models.CharField(max_length=20, choices = gender, default = "female")
dob = models.DateField(null=True, blank=True)
grade = models.IntegerField(choices=grade)
parent_phone = PhoneField(blank=True, help_text='Contact phone number')
# admNo = models.AutoField()
@property
def age(self):
if(self.dob != None):
age = date.today().year - self.dob.year
return age
@property
def sgrade(self):
if datetime.today().day == 25:
grade = self.grade +1
return grade
Попробуйте вот это :
def age(self):
if(self.dob != None):
today = datetime.datetime.today()
return today.year - self.dob.year - ((today.month, today.day) < (self.dob.month, self.dob.day))
def sgrade(self):
if datetime.datetime.now().day == 25:
grade = self.grade +1
return grade
Не забудьте импортировать datetime