2013-04-25 32 views
1

在我的應用我有像這樣的模型:是否有可能只有某些實體的ComputedProperty?

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') 

是否有可能時,證實是假的有entity_key_num財產?

回答

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,因此您必須自行跟蹤該值。

+0

問題是天氣它會添加'n'= None或沒有'n'屬性。 PS:我正在這樣做以節省空間 – Shedokan 2013-04-25 17:17:21

+0

@Shedokan我更新了我的答案... – Lipis 2013-04-25 18:17:11

相關問題