我有这个型号:
class Entry(db.Model):
title = db.StringProperty()
url = db.URLProperty()
date = db.DateTimeProperty(auto_now=True)
image = db.URLProperty()
weight = db.IntegerProperty()
category = db.StringProperty()
desc = db.TextProperty()
Run Code Online (Sandbox Code Playgroud)
我每天都有很多条目,如何使用GGL仅选择今天的条目?因为像这样的查询不会返回任何结果(但我知道有结果):
SELECT * FROM Entry WHERE category = 'news' and date = '2012-03-12' ORDER BY weight DESC
Run Code Online (Sandbox Code Playgroud)
小智 8
它不是保存为字符串,而是保存为类似对象的日期时间.
比较的右侧可以是以下之一:
日期时间,日期或时间文字,带有数值或字符串表示形式,格式如下:
DATETIME(年,月,日,小时,分钟,秒)
DATETIME('YYYY-MM-DD HH:MM:SS')
DATE(年,月,日)
DATE('YYYY-MM-DD')
TIME(小时) ,分钟,秒钟)
('HH:MM:SS')
http://code.google.com/appengine/docs/python/datastore/gqlreference.html
所以在你的例子中,使用其中任何一个.
date = DATE('2012-03-12')
date = DATE(2012,03,12)
Run Code Online (Sandbox Code Playgroud)
对于datetime,默认情况下将时间设置为00:00,因此相等比较将失败,因此必须使用>进行比较
SELECT * FROM Entry WHERE date > DATETIME(yyyy,mm,dd)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7283 次 |
| 最近记录: |