我在使用本地工作的东西时遇到了一些麻烦,并且不适用于app引擎python环境:
基本上,我想从日期和时间范围之间的epg中获取程序。 我知道我不能做两个> <所以我看到了一个建议,将日期保存为datetime.datetime列表,我做了。
[datetime.datetime(2010, 5, 10, 14, 25), datetime.datetime(2010, 5, 10, 15, 0)]
这没关系。但是当我尝试与它进行比较时:
progranon = get_object(Programs2Channel,
'channel_id =', channelobj.key(),
'endstartdate >', programstart_minex,
'endstartdate <', programstart_minex
)
由于某种原因,这可以在本地运行,但无法检索应用引擎上的数据。
*我正在使用谷歌应用引擎django补丁,它使用get_object来检索交易中的数据。
请帮忙。
以下是更多详情:
这是列表:
[datetime.datetime(2010, 5, 13, 10, 45), datetime.datetime(2010, 5, 13, 11, 30)]
#this is the query:
programstart = ""+year+"-"+month+"-"+day+" "+hour+":"+minute
programstart_minex = datetime.strptime(programstart, "%Y-%m-%d %H:%M")
progranon = Programs2Channel.gql('WHERE channel_id = :channelid AND endstartdate > :programstartx AND endstartdate < :programstartx',channelid = channelobj.key(),programstartx=programstart_minex).get()
答案 0 :(得分:1)
这可能是问题吗?
自: http://code.google.com/appengine/docs/python/datastore/gqlreference.html
日期时间,日期或时间字面, 使用数值或字符串 表示,在下面 表格:DATETIME(年,月,日, 小时,分钟,秒 DATETIME('YYYY-MM-DD HH:MM:SS')
我的本地服务器开发人员将日期时间保存为数字YYYY-MM-DD,而应用引擎保存datetime.datetime(2010,5,10,14,25),
LOCAL日期时间列表:
2010-05-09 08:30:00,2010-05-09 09:00:00
APP发动机清单:
[datetime.datetime(2010, 5, 13, 10, 45), datetime.datetime(2010, 5, 13, 11, 30)]
也许这就是问题?
答案 1 :(得分:0)
不幸的是,这是dev_appserver和查询列表的已知问题。
但是,dev_appserver现在包含一个实验性的sqlite存根,它没有这个问题。尝试使用--use_sqlite运行它,看看是否有帮助 - 它应该!
答案 2 :(得分:0)
查询只查询在mindate之后启动的程序(只是&gt;查询)然后在内存中过滤怎么样? 如果它是一个电视指南,我们不是在谈论千种可能的实体吗?可能~100个上衣?