python - 为什么我的 GQL 查询在我的 GAE 应用程序中没有返回任何结果?

标签 python google-app-engine gql

我主要遵循了有关如何使用 GAE 和 Python 构建留言簿的教程。现在我只想显示特定日期的条目,但 GQL 查询不会返回任何内容(尽管有当天的条目):

class Shout(db.Model):  
    message= db.StringProperty(required=True)  
    when = db.DateTimeProperty(auto_now_add=True)  
    who = db.StringProperty()  

class MainHandler(webapp.RequestHandler):  
    def get(self):  
        shouts = db.GqlQuery("SELECT * FROM Shout WHERE when=DATE('2010-11-05')")  
        # Return something without the WHERE clause
        values = {'shouts':shouts}  
        self.response.out.write(template.render('main.html',values))  

    def post(self):  
        self.response.out.write("posted")  
        shout = Shout(message=self.request.get("message"),who=self.request.get("who"))  
        shout.put()  

这是我的 main.html:

<form method="post">
   <input type="text" name="who"></input>
   <input type="text" name="message"></input>
   <input type="submit" value="Send"> </input>  
</form>

{% for shout in shouts  %}
   <div>{{shout.message}} from {{shout.who}} on {{shout.when}}</div>
{% endfor %}

最佳答案

可能还有另一种方法可以解决这个问题,但我认为因为您的 when 属性是一个日期时间,所以您最好使用这样的方法:

shouts = db.GqlQuery("""SELECT * 
                          FROM Shout 
                         WHERE when >= DATE('2010-11-05')
                           AND when < DATE('2010-11-06')""")

关于python - 为什么我的 GQL 查询在我的 GAE 应用程序中没有返回任何结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4109272/

相关文章:

python - Appengine,python27的性能下降

google-app-engine - db.put() 似乎没有正常工作

java - Google Cloud Datastore - Java - GQLQuery 游标

python - 有什么办法可以取消删除 Appengine 中的索引吗?

Python - 队列、管理器和多处理的奇怪行为

python - 用 isin 进行复杂的 pandas 操作

java - 是什么导致了这个 "No Persistence provider for EntityManager named ___"异常?

python - Pandas DataFrame 重新索引到最近的

python - 从 Python 字典 : 中的值中查找键