我正在创建一个 View ,该 View 将仅显示截止日期尚未过去的帖子。为了实现这一点,我添加了以下views.py 文件:
current_posts = Posts.objects.filter(post_name=post, deadline__range=[date.today(), "2999-12-31"]).order_by('deadline')
这样我就只能显示截止日期范围在今天到 2999 年 12 月 31 日之间的帖子。但是我收到以下错误,并且根本没有帖子显示:
RuntimeWarning: DateTimeField OfferedFunds.deadline received a naive datetime (2999-12-31 00:00:00) while time zone support is active.
RuntimeWarning)
过去发布的解决方案让我尝试了以下方法,但也不起作用:
timezone.now()
current_posts = Posts.objects.filter(post_name=post, deadline__range=[timezone.now(), "2999-12-31"]).order_by('deadline')
有效的是,如果我不输入:timezone.now(),而是输入一个实际日期,如“2015-10-10”,但这达不到目的。关于如何解决这个问题有什么想法吗?
最佳答案
您可以执行deadline__gte=timezone.now()
此页面有更多信息:https://docs.djangoproject.com/en/stable/ref/models/querysets/#gte
关于python - Django:DateTimeField 收到了一个简单的日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33382453/