根据日期(月份和年份)过滤结果
如何根据下面的查询获取结果。
这是我的 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
时,你会得到结果。