Comparing offset-naive and -aware datetimes in Django
假设我在一个数组中有一个日期列表,我只想保留那些过期的日期,以便以后删除它们。但我正在尝试对数组中的每个日期传递if条件,并只打印过期的日期。问题是我不理解如何使用Python。
以下是我的想法:
1 2 3 4 5 | # 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: can't compare offset-naive and offset-aware datetimes
号
我做错了什么,解决方法是什么?
1 2 3 | from django.utils.timezone import now, timedelta expired_date = now() - timedelta(seconds=20) |
如果你想看他们:
1 2 3 4 | model_list = YourModel.objects.filter(created_date__lt=expired_date) for model_item in model_list: print model_item.created_date |
号
如果您只想删除它们:
1 | YourModel.objects.filter(created_date__lt=expired_date).delete() |