python - 如何将 DateTimeField 与 timezone.now() 进行比较
问题描述
我是 python/django 的新手,我有一个 Events 应用程序,用户可以在其中查看组织即将发生的事件,但我不知道如何只显示未来的事件而忽略过去的事件。
模型.py
class Event(models.Model):
title = models.CharField(max_length=500)
description = RichTextField()
start_date = models.DateTimeField()
end_date = models.DateTimeField()
created_date = models.DateTimeField(auto_now_add=True)
author = models.ForeignKey(NewUser, on_delete=models.CASCADE)
视图.py
class ShowEventsListPageView(ListView):
model = Event
template_name = 'registration/user_events.html'
def get_queryset(self, *args, **kwargs):
user = self.kwargs['pk']
return Event.objects.filter(author=user).annotate(Event.end_date > timezone.now()).order_by('-start_date')
此代码在“DeferredAttribute”和“datetime.datetime”实例之间返回“>”不支持
解决方案
大于 (gt)查找用于过滤字段大于值的查询集
Event.objects.filter(
author=user,
end_date__gt=timezone.now()
).order_by('-start_date')
推荐阅读
- javascript - 在网站上接收并处理 csv 的最简单方法是什么?
- java - 为什么 int p = (p=1) + p; 在字段定义中失败但在方法中可以吗?
- excel - 找到给定日期和日期数组之间最小差异的方程
- crash-dumps - 通过 Squish 运行时缺少应用程序转储文件
- java - 让 javaFX 11 应用程序在 docker 上运行
- paypal - Paypal 智能按钮元数据 - Webhook
- php - 如何使用 PHP 从 HTML POST 文件中正确显示文件扩展名?
- c# - 在 C# 中反序列化 Xml 的问题
- rest - ServiceNow REST API:获取列名列表
- python-3.x - 平均图像类型错误:只有整数标量数组可以转换为标量索引