我想要一个名为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的子类。测试失败。
- 为什么我不能这样做?
- 什么是解决方法?