2014-06-13 31 views
0

问这个问题我有点奇怪,但是在相当广泛的谷歌搜索之后,我真的无法找到答案。TTL with peewee

现在我在PostgresQL上使用peewee ORM,并且正在执行密码重置。出于显而易见的原因,我不希望将密码重置键永远保留,所以我想在postgres中创建对象,并在设定的时间后过期。

我找不到任何提及如何在文档或StackOverflow中执行此操作。这看起来像是一个非常常见的用例,但似乎没有任何关于如何实际执行此操作的内容。我的型号仅供参考:

class PostgresModel(Model): 

    _id = PrimaryKeyField() 

    class Meta: 
     database = DATABASE 

    @classmethod 
    def create_and_commit(cls, **kwargs): 
     cls.create(**kwargs) 
     DATABASE.commit() 

class ForgotPassword(PostgresModel): 
    user = ForeignKeyField(BaseUser, related_name='password_reset') 
    secret_key = CharField() 

任何人都能理解这一点?

回答

0

DateTimeField添加到您的模型,指示密钥何时到期(或创建时间),然后使用它来确定它是否有效。