在尝试设置待办任务的持续时间时遇到问题。
我尝试过使用DurationField,有人告诉我尝试在您的forms.py中使用timedelta,但是我不太了解如何从我的两个模型DateField(开始和结束)传递类似(6天)的差异。
Models.py
from django.db import models
from datetime import datetime, timedelta
class To_do (models.Model):
task = models.CharField(max_length=150)
topic = models.CharField(max_length=150)
how = models.TextField(max_length=600)
start = models.DateField(default=datetime.today)
end = models.DateField(blank=False)
duration = models.DurationField(default=timedelta)
我想为用户显示差异,并在设置警报后不到3天等。
我该如何解决?
答案 0 :(得分:0)
两个日期或日期/时间值之间的差是一个时间增量。
delta_time = end - start
或者如果您需要根据其他数字来编码增量时间常数
from datetime import timedelta
my_delta = timedelta( days=3, hours=12, minutes=1 ) # half a week plus a minute
如果要导入,请不要使用timedelta
作为默认值!如果您要执行的操作是传递一个可调用对象以计算时间增量,请按上述方法定义一个函数来执行此操作,并将其作为默认值传递。