我想要一個名爲MBUser的基類,它具有一些預定義的屬性,我不想更改這些屬性。如果客戶想要將屬性添加到MBUser,則建議MBUser被子類化,並且將其中的任何其他屬性放在該處。Google App Engine基礎和子類獲取
API代碼將不知道客戶端是否實際上是MBUser的子類,但它應該沒有關係。這個想法讓我們可以通過id獲得MBUser。所以我期望這個工作:
def test_CreateNSUser_FetchMBUser(self):
from nsuser import NSUser
id = create_unique_id()
user = NSUser(id = id)
user.put()
# changing MBUser.get.. to NSUser.get makes this test succeed
get_user = MBUser.get_by_id(id)
self.assertIsNotNone(get_user)
這裏NSUser是MBUser的子類。測試失敗。
- 爲什麼我不能這樣做?
- 什麼是解決方法?