计算django中的截止日期

时间:2017-10-23 18:21:59

标签: python django datetime

我正在使用django创建一个“图书馆”网站。

用户发出图书后,我想计算发布日期后3个月的图书截止日期。

我该怎么办?

3 个答案:

答案 0 :(得分:3)

使用datetime模块,您可以非常轻松地添加90天的时间值:

>>> import datetime

>>> print datetime.datetime.now()
2017-10-23 19:24:19.549670
>>> print datetime.datetime.now() + datetime.timedelta(days=90)
2018-01-21 19:24:21.583689

答案 1 :(得分:1)

我假设您正在谈论在数据库列上设置自动值。

This link几乎可以解答你的问题。请务必记下您正在使用的Django版本。

答案 2 :(得分:0)

您需要覆盖跟踪图书交易的模型的save方法。

from datetime import datetime, timedelta

class BookTransaction(models.Model):
    ...
    def save(self, *args, **kwargs):
        # if first time creating transaction (as opposed to on update)
        if not self.id:             
            self.due_date = datetime.now() + timedelta(months=3)

        # call and return default save method after custom rule
        return super(Base, self).save(*args, **kwargs)