Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用特定的月份和年份查询带有日期字段的对象?_Python_Django_Google App Engine - Fatal编程技术网

Python 如何使用特定的月份和年份查询带有日期字段的对象?

Python 如何使用特定的月份和年份查询带有日期字段的对象?,python,django,google-app-engine,Python,Django,Google App Engine,我需要对一组具有日期字段的对象进行gql查询。我对python和GAE都很陌生,所以我对这方面有点陌生。我正在查看文档,但无法完全找到我要查找的内容。基本上我做了以下的类方法 Event.getEventsForMonth(cls, month,year): 因此,我试图查询日期字段的月份和年份在指定范围内的对象。我曾尝试创建一个日期对象,并将其用于比较,但到目前为止,我没有任何乐趣 dateto = str(year)+str(month+1)+"01" datefrom = str(yea

我需要对一组具有日期字段的对象进行gql查询。我对python和GAE都很陌生,所以我对这方面有点陌生。我正在查看文档,但无法完全找到我要查找的内容。基本上我做了以下的类方法

Event.getEventsForMonth(cls, month,year):
因此,我试图查询日期字段的月份和年份在指定范围内的对象。我曾尝试创建一个日期对象,并将其用于比较,但到目前为止,我没有任何乐趣

dateto = str(year)+str(month+1)+"01"
datefrom = str(year)+str(month)+"01"
if month + 1 == 13:
    dateto = str(year+1)+"01"+"01"

query = GqlQuery("SELECT * FROM Event WHERE date >= :datefrom AND date <= :dateto", dateto=dateto, datefrom=datefrom)
return query
dateto=str(年)+str(月+1)+“01”
datefrom=str(年)+str(月)+“01”
如果月份+1==13:
dateto=str(年份+1)+“01”+“01”

query=GqlQuery(“选择*FROM Event WHERE date>=:datefrom和date首先,将日期作为DateProperty或DateTimeProperty实例存储在数据存储中

然后,您可以执行如下查询:

def getEventsForMonth(self, month, year):
  start_date = datetime.datetime(year, month, 1)
  if month == 12:
    end_date = datetime.datetime(year + 1, 1, 1)
  else:
    end_date = datetime.datetime(year, month + 1, 1)
  return Events.all().filter('date >=', start_date).filter('date <=', end_date).fetch(1000)
def getEventsForMonth(自身、月份、年份):
开始日期=datetime.datetime(年、月、1)
如果月份==12:
end_date=datetime.datetime(年份+1,1,1)
其他:
end_date=datetime.datetime(年、月+1、1)

return Events.all().filter('date>=',start_date.).filter('date timedelta在几个月内不接受参数,我认为它只接受天!+1的实现,不过谢谢。如果找不到更多的答案来说明如何添加月,我会很快回答!:-)关于:if month==12:end_date=datetime.datetime如何(月=1,年=年+1)-datetime.timedelta(天=1)其他:end_date=datetime.datetime(月=月+1,年=年)-datetime.timedelta(天=1)