python - 如何获取 Modelfield - datetime.now
问题描述
我一直在为日期的算术而苦苦挣扎。首先,我得到了两个 datetimeFields(模型)之间的日期,没关系。但我想得到 (To_do.end)-datetime.now()
我通过以下方式获得了 2 个日期字段的差异:
To_do.objects.annotate( delta=ExpressionWrapper(F('end') - F('start'), output_field=DurationField())
因为我一直在尝试使用 variable=datetime.now() 但仍然没有得到它
这就是我试图获得成功的测试
def index(request):
myDate = datetime.now()
days_left1 = To_do.objects.annotate(
delta=ExpressionWrapper(F('end') - myDate, output_field=DurationField()))
return render(request, 'ongoingtest.html', {
'myDate': myDate,
'days_left1': days_left1,
})
这就是我为获得两个模型字段之间的差异所做的事情
class HomeView(ListView):
template_name = 'ongoing.html'
model = To_do
def get_queryset(self):
return To_do.objects.annotate(
delta=ExpressionWrapper(F('end') - F('start'), output_field=DurationField())
)
模型.py:
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.DateTimeField(auto_now_add=True)
end = models.DateTimeField(blank=False)
updated_at = models.DateTimeField(auto_now=True)
def __str__(self):
return self.task
只需获取 To_do.end - datetime.now()
解决方案
使用Now
数据库功能:https ://docs.djangoproject.com/en/2.2/ref/models/database-functions/#now
from django.db.models.functions import Now
def index(request):
myDate = datetime.now()
days_left1 = To_do.objects.annotate(
delta=ExpressionWrapper(F('end') - Now(), output_field=DurationField()))
return render(request, 'ongoingtest.html', {
'myDate': myDate,
'days_left1': days_left1,
})
推荐阅读
- python - 使用 SVM 建模数据集
- python - 如何使用 Python 从 LaTeX 表中提取数据
- python - 为不同图像选择动态图像压缩质量率
- cucumber - Cucumber V4 [io.cucumber] 未识别 @Given/When/Then 并给出错误“无法解析导入 cucumber.api.java.en.When”
- javascript - 如何让我的 Javascript 函数在部分 html 页面上工作?
- gitlab - 我是否需要安装 Docker 才能在 Windows 中安装 gitlab-runner?
- python - 我必须在周期中改变什么?
- swift - alertview textField 返回空字符串
- qt - 不是顶级小部件时如何接收dropEvent?
- image - 来自 picsum 的 533 响应后 Flutter NetworkImage 抛出错误