Python,Django,日期时间
在我的模型里,我有两个日期时间属性:
start_date
end_date
我想把结束日期算作开始日期之后的一周。
我该怎么做呢?
2 个回答
5
>>> import datetime
>>> start_date = datetime.datetime.now()
>>> end_date = start_date + datetime.timedelta(7)
>>> print end_date
当然可以!请把你想要翻译的内容发给我,我会帮你把它变得简单易懂。
8
如果你希望你的结束日期(end_date)总是比开始日期(start_date)晚一周,你可以为你的模型创建一个自定义的保存方法。还有一个选择是使用信号(signals),效果是一样的,但因为你是在处理模型的数据,所以我建议你使用自定义保存方法。这个方法的代码大概是这样的:
class ModelName(models.Model):
...
def save(self):
# Place code here, which is excecuted the same
# time the ``pre_save``-signal would be
self.end_date = self.start_date + datetime.timedelta(days=7)
# Call parent's ``save`` function
super(ModelName, self).save()
你可以在Django的文档中了解一下保存方法和信号是如何调用的,链接在这里:http://docs.djangoproject.com/en/dev/ref/models/instances/