2012-10-12 60 views
0

我有这些模型(下)。我想根据Site中的“用户”运行一个查询,该查询从Result获得10个最近条目,其中“site”ReferenceProperty是我的一个。GAE Chaining通过表查询

我想:

user = users.get_current_user() 
sites = Site.all().filter('user =', user).order('name') 
results = Result.all().filter('site IN', sites).fetch(limit=10) 

用户和网站的查询工作,但结果一个不工作,因为“地王”是不是列表。

from google.appengine.ext import db 

class Site(db.Model): 

users = db.ListProperty(db.Key) 
name = db.StringProperty(required=True) 
slug = db.TextProperty(required=True) 
url = db.TextProperty(required=True) 
page = db.TextProperty() 
active = db.BooleanProperty() 
blackboard = db.BooleanProperty() 


class Result(db.Model): 

site = db.ReferenceProperty(Site) 
timestamp = db.DateTimeProperty(auto_now_add=True) 
status = db.StringProperty(required=True) 
reason = db.StringProperty(required=True) 
headers = db.TextProperty() 
extra_info = db.TextProperty() 

回答

3

可能是因为你没有实际执行的网站查询;添加.fetch()调用,如下所示:

sites = Site.all().filter('user =', user).order('name').fetch(limit=10)