【发布时间】:2018-04-04 09:28:50
【问题描述】:
我正在使用 django 创建一个“图书馆”网站。
一旦用户发行了一本书,我想计算它的到期日期,即发行/当前日期后 3 个月。
我该怎么做?
【问题讨论】:
-
你要求它深入思考。
我正在使用 django 创建一个“图书馆”网站。
一旦用户发行了一本书,我想计算它的到期日期,即发行/当前日期后 3 个月。
我该怎么做?
【问题讨论】:
您需要为跟踪图书交易的模型覆盖 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)
【讨论】:
我假设您正在谈论在数据库列上设置自动值。
This link 几乎完全正确地回答了您的问题。请务必记下您使用的 Django 版本。
【讨论】:
使用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
【讨论】: