在我的模型中,我有2个日期时间属性:
start_date
end_date
Run Code Online (Sandbox Code Playgroud)
我想将结束日期计算为start_date后的一周.
我怎么能做到这一点?
如果您总是希望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/
>>> import datetime
>>> start_date = datetime.datetime.now()
>>> end_date = start_date + datetime.timedelta(7)
>>> print end_date
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3959 次 |
| 最近记录: |