【问题标题】:Django Datetime functionDjango 日期时间函数
【发布时间】:2021-10-24 08:15:06
【问题描述】:

我的目标是在每个月的 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

【问题讨论】:

    标签: django function datetime


    【解决方案1】:

    请试试这个:

    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
    

    别忘了导入日期时间

    【讨论】:

      猜你喜欢
      • 2017-11-17
      • 2017-08-30
      • 1970-01-01
      • 2012-01-11
      • 1970-01-01
      • 2018-01-25
      • 2020-12-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多