• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

Django内使用filter过滤时间,只认年份不认月份是怎么回事?

想用Django开发一个个人博客,参考了网上的一些文章和Django文档,目前做到日期归档这个功能,以下是有问题的View

class ArchiveView(ListView):   template_name = "blog.html"   context_object_name = "articles"   def get_queryset(self):       # 接收从url传递的year和month参数,转为int类型       year = int(self.kwargs['year'])       month = int(self.kwargs['month'])       # 按照year和month过滤文章       article_list = ArticleModel.manager.filter(status='p', add_time__year=year, add_time__month=month).order_by('-add_time')       for article in article_list:           pdb.set_trace()           article.content= markdown2.markdown(article.content, extras=['fenced-code-blocks'], )       return article_list   def get_context_data(self, **kwargs):       return super(ArchiveView, self).get_context_data(**kwargs)用pdb试了很久,最后发现问题出在这一句:

article_list = ArticleModel.manager.filter(status='p', add_time__year=year, add_time__month=month).order_by('-add_time')其中add_time__month=month无法过滤到正确月份,导致结果的QuerySet为空;pdb调试上面这个View中的month变量和article.add_time.month又确实是一样的,理论上应该可以得到我想要的文章。

注:status='p'和add_time__year=year都可以成功地找到符合条件的文章;也试过用Q,结果是一样的。不知道问题描述清楚了没有= =|||,我现在也没有头绪,就想知道从经验上来说,这个问题应该怎么去找解决办法……

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与1

django setting 调时区

使用道具 举报

发新帖

发布任务需求已有1031168位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!