TTL与peewee

时间:2014-06-13 23:20:05

标签: python postgresql peewee ttl

我觉得这个问题有点奇怪,但是经过广泛的谷歌搜索后我真的找不到答案。

现在我在PostgresQL上使用peewee ORM,我正在实施密码重置。出于显而易见的原因,我不想永远保留密码重置键,所以我想在postgres中创建对象,并在一段时间后过期。

我在docs或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()

有人对此有所了解吗?

1 个答案:

答案 0 :(得分:0)

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