首页 > 解决方案 > 如果没有及时验证,Django自动删除用户

问题描述

我在 django is_verified 中有一个标志,现在我将 User 覆盖为 CreateUser,如果标志 > 10 min == False,我希望从 db 用户中自动删除,但是当 True 时什么都不做。我在 CreateUser 类中创建了类似的东西,但这不起作用。

def remove_user_time(self):
    user = super().objects.get(email=self.email)
    register_time = user.date_joined
    ten_minutes_later = (register_time + timedelta(hours=0.16))
    if ten_minutes_later == datetime.now():
        if user.is_verified == False:
            user.delete()

标签: pythondjango

解决方案


尝试这个:

def remove_user_time(self):
    user = super().objects.get(email=self.email)
    register_time = user.date_joined
    ten_minutes_later = (register_time + timedelta(hours=0.16))
    if ten_minutes_later > datetime.now():
        if user.is_verified == False:
            user.delete()

使用大于>,而不是==

仅当您在确切时间检查时,equal 才会为真


推荐阅读