0

我有这些模型(下)。我想运行一个查询,从 Result 中获取 10 个最近条目,其中“站点”ReferenceProperty 是我的一个,基于站点中的“用户”。

我试过了:

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()
4

1 回答 1

3

可能是因为您实际上并没有执行站点查询;添加一个 .fetch() 调用,如下所示:

sites = Site.all().filter('user =', user).order('name').fetch(limit=10)
于 2012-10-13T00:29:31.217 回答