Python,Django,datetime

1 python django datetime

在我的模型中,我有2个日期时间属性:

start_date
end_date
Run Code Online (Sandbox Code Playgroud)

我想将结束日期计算为start_date后的一周.

我怎么能做到这一点?

goo*_*orp 8

如果您总是希望end_date在start_date之后一周,那么您可以做的是为您的模型创建自定义保存方法.另一种选择是使用信号.结果是一样的,但既然你正在处理模型数据,我建议你去自定义保存方法.它的代码看起来像这样:

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()
Run Code Online (Sandbox Code Playgroud)

您可以在django docs中阅读有关如何调用save方法/信号的内容:http://docs.djangoproject.com/en/dev/ref/models/instances/


Anu*_*yal 5

>>> import datetime
>>> start_date = datetime.datetime.now()
>>> end_date = start_date + datetime.timedelta(7)
>>> print end_date
Run Code Online (Sandbox Code Playgroud)