为了账号安全,请及时绑定邮箱和手机立即绑定

访问字段已更新的时间(Django模型)

访问字段已更新的时间(Django模型)

冉冉说 2021-04-05 12:14:51
我需要创建一个系统,在该系统中,用户必须每隔“ x”天数更改一次密码。我设法通过保存一个UTC时间戳来实现此目的,该时间戳代表用户创建/修改密码的时间。我的问题是,不是通过在数据库中保存时间戳,而是可以通过django的一些内置函数获取表示字段更改时间的时间戳?这样,我可以访问用户上次更新密码的时间,而无需在模型中添加专用字段以在其中保存时间戳。
查看完整描述

1 回答

?
开心每一天1111

TA贡献1836条经验 获得超13个赞

不,没有字段显示您在哪个时间更新了哪个字段,您应该自行实现


您应该set_password在各处使用它来管理更新密码时间


password_updated_at = models.DateTimeField(_('password updated at'))


def set_password(self, raw_password):

    r = super(User, self).set_password(raw_password=raw_password)

    self.password_updated_at = timezone.now()

    self.save()

    return r


def is_password_updated_at_expired(self):

    duration = (timezone.now() - self.password_updated_at).total_seconds()

    return duration > settings.PASSWORD_UPDATE_EXPIRE_TIME, duration


查看完整回答
反对 回复 2021-04-27
  • 1 回答
  • 0 关注
  • 132 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号