使用ndb.ComputedProperty查询

时间:2013-02-11 06:31:11

标签: python app-engine-ndb

我的计算机属性定义如下:

class User(app.Model)
  DEFAULT_GPLUS_IMG_URL == "http://someimage.com/image/image.png"

  has_avatar = ndb.ComputedProperty(
    lambda self: True if self.avatar == DEFAULT_GPLUS_IMG_URL else False)

  @property
  def avatar(self):
    return self.gplus_data.get('image')

我试图在交互式控制台中这样查询:

from google.appengine.ext import ndb
from app.lib.users import User

print User.query(User.has_avatar==True).fetch()

这会返回[]

但是当我像这样循环User.query()时:

for i in User.query():
  print i.has_avatar

我得到[True, False]

我做错了什么?

1 个答案:

答案 0 :(得分:1)

正如Guido在对该问题的评论中指出的那样,该问题与dev_appserver缓存有关。第二天我就能得到正确的结果。