在我的应用程序中,我有一个类似的模型:
class MyModel(ndb.Model):
entity_key_list = ndb.KeyProperty('k', repeated=True, indexed=False)
entity_key_num = ndb.ComputedProperty('n', lambda self: len(self.entity_key_list))
verified = ndb.BooleanProperty('v')
验证为false时是否可以拥有entity_key_num属性?
答案 0 :(得分:2)
如果不是None
,您可以返回verified
:
entity_key_num = ndb.ComputedProperty('n', lambda self: len(self.entity_key_list) if not self.verified else None)
如果您根本不想拥有值None
并动态删除或创建此属性,那么您将必须使用ndb.Expando
类来执行所有这些奇特的操作。请注意,您将无法删除ComputedProperty
,因此您必须自行跟踪该值。