我的计算机属性定义如下:
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]
。
我做错了什么?
最佳答案
正如 Guido 在问题评论中指出的那样,该问题与 dev_appserver
缓存有关。第二天我就得到了正确的结果。
关于python - 使用 ndb.CompulatedProperty 进行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14807026/