首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DurationField或Timedelta

DurationField或Timedelta
EN

Stack Overflow用户
提问于 2019-07-24 05:46:03
回答 1查看 469关注 0票数 0

我在尝试设置待办事项的持续时间时遇到了问题。

我尝试过DurationField,有些人告诉我在你的forms.py中尝试时间增量,但我不太清楚如何传递(6天)与我的两个模型DateField (开始和结束)的差异。

Models.py

代码语言:javascript
复制
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天的警报后等。

我该如何解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-24 16:21:33

两个日期或日期/时间值之间的差异是时间增量。

代码语言:javascript
复制
delta_time = end - start

或者,如果您需要从其他数字中编码增量时间常数

代码语言:javascript
复制
from datetime import timedelta

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

如果您正在导入它,请不要使用timedelta作为名称作为默认值!如果您想要做的是传递一个可调用函数来计算时间增量,请定义一个函数来执行此操作,并将其作为默认值进行传递。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57172628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档