我的目标是在每个月的25号将“等级”值增加1。下面的函数似乎不起作用。我会错在哪里呢?附件是模型和功能。
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发布于 2021-10-24 08:41:24
请试试这个:
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
https://stackoverflow.com/questions/69694964
复制相似问题