首页 > 解决方案 > Django 过期预订

问题描述

您好,我正在编写一个简单的应用程序,用于在电影院预订和购买门票,其中一项任务是预订门票一段时间(例如 1 小时),然后处于待处理状态,可以在此期间支付。您对如何达到到期时间有什么建议吗?我在模型中有一个字段存储可以使用的日期。

标签: djangodjango-rest-frameworkexpired-sessions

解决方案


一种方法是在模型上定义属性。例如,假设您有一个Ticket模型,该模型具有一个名为 datetime 的字段reservation_date,并且您希望机票预订在一小时后过期。你的属性装饰方法是这样的

@property
def is_expired(self):
    seconds_in_hour = 3600
    if (datetime.now() - self.reservation_date).seconds > seconds_in_hour
        return True
    else:
        return False

然后检查票是否过期:

if ticket_instance.is_expired:
    #do something

推荐阅读