我想要一个名为 MBUser 的基类,它具有一些我不想更改的预定义属性。如果客户端想要向 MBUser 添加属性,建议将 MBUser 子类化,并将任何其他属性放入其中。
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 的子类。测试失败。
- 为什么我不能这样做?
- 什么是解决方法?