【问题标题】:Understanding classes in ndb model - GAE了解 ndb 模型中的类 - GAE
【发布时间】:2015-04-15 18:41:00
【问题描述】:
我有 database.py 文件,它有一个具有不同属性的 Class Parent(ndb.model)。如果我将 Parent 作为参数传递给另一个类会发生什么,这样
class child(Parent)
Pass
如果我是硬编码,我可以在 Class child 中定义 Parent 的属性吗?
【问题讨论】:
标签:
python
database
google-app-engine
entity
google-cloud-datastore
【解决方案1】:
是的,这将起作用,并且子类将继承父属性:
class Parent(ndb.Model):
lastname = ndb.StringProperty()
class Child(Parent):
name = ndb.StringProperty()
Child(lastname='Doe', name='John').put()
您可以拥有任意数量的混合组件和子组件,属性将按照语言 [python] 规则正确解析。
请记住,只有实际保存的实体才会在数据存储区中,在此示例中为 Child。也就是说,只会存在这个kind。
如果您想通过父级查询,以获取所有 Animals 作为规范示例,您需要使用 PolyModel。