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

时间:2014-09-11 11:52:29

标签: python mysql django mysql-workbench mysql-python

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

这是我的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'}]

但在尝试月份时会返回无[]

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

3 个答案:

答案 0 :(得分:1)

使用:

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

答案 1 :(得分:0)

尝试按整数月过滤,而不是字符串:

filter(posted_date__month=9)

答案 2 :(得分:0)

尝试使用您想要的位置

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

当您打印monthPillDetails时,您将获得结果。