根据日期(月份和年份)过滤结果

-1 投票
3 回答
812 浏览
提问于 2025-04-21 02:07

如何根据下面的查询获取结果。

这是我的 model.py 文件

class Revenue_Report(models.Model):
    value = models.CharField(max_length = 100)
    value_name = models.CharField(max_length = 225)
    tracks_id = models.ForeignKey(Tracks)  
    posted_date = models.DateTimeField(auto_now_add=True)

我需要按月份和年份来获取结果

monthPillDetails=Revenue_Report.objects.values('value').filter(posted_date__year='2014',posted_date__month='09')

当我运行这个查询时,结果是空的,但我的表里有数据。

更新:

当我这样写的时候

monthPillDetails=Revenue_Report.objects.filter(posted_date__year='2014').values('value')    

控制台输出是 [{'value': u'12345'}, {'value': u'12345'}, {'value': u'12345'}, {'value': u'123456'}, {'value': u'12345'}]

但是当我尝试按月份查询时,它返回的是 None []

 monthPillDetails=Revenue_Report.objects.filter(posted_date__month='09').values('value')

3 个回答

0

试着用整数的月份来过滤,而不是用字符串:

filter(posted_date__month=9)
1

使用:

monthPillDetails=Revenue_Report.objects.values_list('value').filter(posted_date__year='2014')
0

试着在你想要查看的地方使用

where = "Month(posted_date)='09'"
monthPillDetails=Revenue_Report.objects.extra(where=[where])

当你打印 monthPillDetails 时,你会得到结果。

撰写回答