什么是ndb.Model构造函数背后的魔力?

时间:2013-11-11 03:56:04

标签: python google-app-engine google-cloud-datastore

亲爱的所有

我知道我可以初始化我的ndb模型的属性,如下所示。我只需要在创建实体类的新实例时使用关键字参数。

class MyModel(ndb.Model):
  foo = ndb.StringProperty()
  bar = ndb.StringProperty()
  baz = ndb.StringProperty()

model_instance = MyModel(foo='foo', bar='bar', baz='baz')

这让我很困惑,因为我没有在班上创建任何构造函数。 Python如何知道如何在没有构造函数的情况下设置属性?

谢谢!

1 个答案:

答案 0 :(得分:1)

阅读文档。 https://developers.google.com/appengine/docs/python/ndb/modelclass#Constructor Model类具有构造函数,您可以传入关键字参数以映射到属性。由于您没有为类定义构造函数,因此它使用了模型构造函数