DurationField或Timed

2022-09-28 20:16:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我在设置待办任务的持续时间时遇到了问题。你知道吗

我试过DurationField,有人让我试一下你电脑里的timedelta表单.py但我不太清楚舒尔如何通过我的两个模型日期字段(开始和结束)的差异(6天)。你知道吗

你知道吗型号.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天的警报等

我该怎么解决这个问题?你知道吗


Tags: frompyimportdefaultdatetimemodels差异lengthmaxtimedelta持续时间charfielddatefielddurationfield试一下
1条回答
网友
1楼 ·

两个日期或日期/时间值之间的差值是timedelta。你知道吗

delta_time = end - start

或者如果你需要从其他数字中编码一个增量时间常数

from datetime import timedelta

my_delta = timedelta( days=3, hours=12, minutes=1 ) # half a week plus a minute

如果要导入timedelta,请不要使用它作为默认值!如果您要做的是传递一个可调用的函数来计算timedelta,请定义一个函数来执行上述操作,并将其作为默认值传递。你知道吗