通過創建從Expando類繼承的數據存儲模型,我可以 使我的模型實體/實例具有動態屬性。那就是 太棒了!但我想要的是這些動態屬性的名稱在運行時確定爲 。那可能嗎?將用戶提供的屬性(在運行時)添加到Google應用程序引擎中的Expando類實例?
例如,
class ExpandoTest (db.Expando):
prop1 = db.StringProperty()
prop2 = db.StringProperty()
entity_one = ExpandoTest()
entity_two = ExpandoTest()
# what I do not want
entity_one.prop3 = 'Demo of dynamic property'
# what I want
entity_two.<property_name_as_entered_by_user_at_runtime> = 'This
property name was entered by the user, Great!!'
這可能嗎?如果是的話,該怎麼做? 我已經嘗試了一些有趣的方式來做到這一點,但沒有成功:P
在此先感謝。
S.洛特的回答是正確的;你不應該直接調用__setattr__。 – 2011-11-28 00:53:08