2012-10-12 58 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)