0

私はこれらのモデルを持っています(以下)。サイトの「ユーザー」に基づいて、「サイト」ReferenceProperty が私のものである Result から 10 個の最近のエントリを取得するクエリを実行したいと考えています。

私は試した:

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 に答える