【发布时间】:2016-10-16 15:33:01
【问题描述】:
我正在将this answer 应用到我的项目中
这是我的 ndb 实体,is_deleted 稍后添加。
class FRoom(ndb.Model):
location = ndb.StringProperty(default="")
is_deleted = ndb.BooleanProperty(default=False) #added later
#other fileds
当我使用 logging.info 打印我的实体时,我有
FRoom(key=Key('FRoom', 5606822106890240), is_deleted=False, location=u'denizli')
FRoom(key=Key('FRoom', 6169772060311552), is_deleted=False, location=u'aydin' )
FRoom(key=Key('FRoom', 6451247037022208), location=u'bursa')
当我做的时候
for froom in frooms:
logging.info(hasattr(froom, 'is_deleted')) # gives always True
但是当我这样做时:
logging.info(hasattr(froom, 'is_deletedXXX')) #gives me False
我做错了什么?
【问题讨论】:
-
问题:为什么在
FRoom(key=Key('FRoom', 6451247037022208), location=u'bursa')中没有设置is_deleted,即使您的默认设置为False? -
用于软删除控制,获取
cls.query(cls.is_deleted == False)结果
标签: python google-app-engine hasattr