Django:默认用户模型RunTimeWarning关于朴素的DateTimeField

时间:2018-08-02 16:10:19

标签: python django

除用户模型外,所有其他模型都继承自该模型:

class BaseModel(models.Model):
    created_date = models.DateTimeField(auto_now_add=True)
    modified_date = models.DateTimeField(auto_now=True)

    class Meta:
        abstract = True

每当用户注册时,我都会收到以下警告:

  

RuntimeWarning:DateTimeField User.date_joined在时区支持处于活动状态时收到的日期时间很短(2018-07-04 06:38:11.288567)。

由于我无法控制用户创建过程(我使用的是Django提供的默认用户模型),所以我不知道如何解决此问题。

1 个答案:

答案 0 :(得分:0)

使用django utils的timezone

from django.utils import timezone

class BaseModel(models.Model):
    created_date = models.DateTimeField(default=timezone.now)
    modified_date = models.DateTimeField()

    # override default save funtion 
    def save(self, *args, **kwargs):
        self.modified_date = timezone.now()
        return super(BaseModel, self).save(*args, **kwargs)