3
如果我有一個派生自db.Expando的實體,我可以通過給一個新屬性賦值來編寫Dynamic屬性,例如, 「Y」在這個例子:AppEngine:我可以使用在運行時選擇的名稱來編寫動態屬性(db.Expando)嗎?
class MyEntity(db.Expando):
x = db.IntegerProperty()
my_entity = MyEntity(x=1)
my_entity.y = 2
但是假設我有一個變量的動態屬性的名稱...我怎麼能(1)讀,寫微博,和(2)如果動態檢查變量是否存在於實體的實例中?例如
class MyEntity(db.Expando):
x = db.IntegerProperty()
my_entity = MyEntity(x=1)
# choose a var name:
var_name = "z"
# assign a value to the Dynamic variable whose name is in var_name:
my_entity.property_by_name[var_name] = 2
# also, check if such a property esists
if my_entity.property_exists(var_name):
# read the value of the Dynamic property whose name is in var_name
print my_entity.property_by_name[var_name]
謝謝...
完美,謝謝!我還看到我可以使用hasattr來查明一個實體是否有動態變量。 – MarcoB 2010-06-16 13:04:18