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

在Django开发中遇到一个问题,当尝试根据年份和月份筛选文章时,只有年份条件能正常工作,月份过滤无效。经过调试,`add_time__month=month`无法匹配到正确的月份,但变量`month`与`article.add_time.month`值相同。其他条件如状态和年份过滤正常。问题可能与自定义Manager有关,但未找到具体原因。寻求解决思路。
摘要由CSDN通过智能技术生成

想用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试了很久,最后发现问题出在这一句:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值