0

这是我的第一个 Web 开发项目,我正在使用 Django 构建项目预订系统。

要求:如果用户预订了一个项目并使用它超过一个星期,将发送一封电子邮件给他,以重新确认项目的使用情况。

每封电子邮件都有一个链接,显示用户使用超过一周的所有项目,项目将根据用户决定被释放或继续使用。

这是场景,用户打开电子邮件中提供的链接两次(可能更多),正如我所说的,每个打开的链接都会有他正在使用的项目列表。在“第一个”链接中,用户取消选中一个项目并提交它,然后,他将转到“第二个”链接(显然包含错误数据)并尝试取消选中某个项目并提交它。当用户在“第二个”链接中提交时,我想抛出一个错误,说你已经执行了这个操作。

我的解决方案是使用表中的字段(数据库中的用户表)说“link_used”,当用户使用“第一个”链接时我将存储“是”,当他使用第二个链接时,代码将检查“link_used”列并发出错误信息。

此“link_used”列将在发送下一封邮件时重置。

我的解决方案正确吗?

谷歌搜索并没有找到与我的场景相关的解决方案。

4

1 回答 1

0

通过这样做,您将失去历史记录并询问运行条件。

为链接/电子邮件创建单独的模型,类似于下面的示例。

class OneTimeCode(models.Model):

    user = models.ForeignKey('auth.User')
    code = models.CharField(…)
    date_sent = models.DateTimeField(auto_now_add=True, …)
    date_used = models.DateTimeField(null=True, …)

    @property
    def link_used(self):
        return self.date_used is not None

这样您就可以保留所有代码及其用法的历史记录。

于 2012-11-28T07:37:38.193 回答