基于月份的数据库查询

时间:2013-01-24 12:36:51

标签: django

views.py

def KEBReading2(request,date=None):
   dates={"Jan":01,"Feb":02,"March":03,"April":04,"May":05,"June":06,"July":07}
   if date in dates:
      a=dates[date]
      print a  
      q1=KEBReading.objects.filter().values()
      print q1.voltage

在我的数据库日期中以YYYY-MM-DD格式存储,在我的模型中,它是MM / DD / YYYY。 我想根据月份进行查询。如何从数据库中获取每个月的条目。

1 个答案:

答案 0 :(得分:0)

如果要从数据库中查询月份,可以执行以下操作:

q1=KEBReading.objects.filter(somedatefield__month=month)

所以你可以尝试类似的东西:

def KEBReading2(request,date=None):
   dates={"Jan":01,"Feb":02,"March":03,"April":04,"May":05,"June":06,"July":07}
   if date in dates:
      a=dates[date]
      print a  
      q1=KEBReading.objects.filter(somedatefield__month=a).values()
      print q1.voltage

如果你想要这一年:

q1=KEBReading.objects.filter(somedatefield__year=year)

有关详情,请参阅QuerySet API reference

现在,如果您想将日期格式设为MM/DD/YYYY,可以使用strftime

>>> print q1.somedatefield.strftime('%m/%d/%Y')
'02/01/2013'