Python/Django 计算模型的到期时间

Python/Django Calculate Expiration for Model

我一直未能成功计算我拥有的 Django 模型的到期时间 hour/minute。这是我正在使用的基本代码:

class Bribe(models.Model)
    date_offered = models.DateTimeField()

    def expiration(self):
        [...]
        return [Hours:Minutes until expiration]

我的主要目标是计算贿赂到期前的倒计时,在本例中为 48 小时。例如,如果 Bribe 的 date_offered 值为 February 10th, 2015 @ 12:00PM,我希望 def expiration(self) 到 return 字符串 12 hours 10 minutes remaining until expiration 如果当前日期为 February 11th 2015 @ 11:50PM

如果有人能帮我填写function/method里面的内容,我将不胜感激。

我用这个方法来确定我的用户是否是成年人(即至少 18 岁)。您应该能够根据需要操作它。

from datetime import date


def set_adult(self):
    today = date.today()
    age = today.year - self.date_of_birth.year - ((today.month, today.day) < (self.date_of_birth.month, self.date_of_birth.day))
    if age >= 18:
      self.adult = True
    else:
      self.adult = False

您可以使用用于 timeuntil 模板过滤器的 timeuntil() 函数:

from django.utils.timesince import timeuntil

def expiration(self):
    return timeuntil(self.date_offered)