【发布时间】:2017-09-16 11:00:24
【问题描述】:
假设我有一个数组中的日期列表,我想只保留已过期的日期以便以后删除它们。但是我试图在数组中的每个日期上传递一个 IF 条件并只打印那些已经过期的。问题是我不明白如何用 Python 做到这一点。
这是我的想法:
# model.objects.all() contains the dates of each objects
for data in model.objects.all():
if data.created_date < datetime.datetime.now() - datetime.timedelta(seconds=20):
print(data.created_date)
上面的代码给了我这个错误:
TypeError: 无法比较 offset-naive 和 offset-aware 日期时间
我做错了什么,解决办法是什么?
【问题讨论】:
-
Python 没有数组。你在那里的东西看起来像一个 Django QuerySet。您应该使用正确的
.filter()调用对其进行过滤。 -
@KlausD。如何按过期时间过滤 Django 查询集?
-
请修改您的问题以包含解决实际问题所需的所有信息。添加您的模型,标记为 django,解释任务。您的方法似乎确实是 Django 的最佳实践方式。
-
@KlausD。我删除了我的问题,因为它超出了这个问题的范围,你给我的建议解决了我的问题,谢谢。
标签: python django django-models