我看到一些使用函数而不是类来声明ndb模型的示例:
使用函数声明模型:
def Person(ndb.model):
first_name = ndb.StringProperty()
surname = ndb.StringProperty()
languages_spoken = ndb.StringProperty(repeated=True, choices=languages)
用类声明模型:
class Person(ndb.model):
first_name = ndb.StringProperty()
surname = ndb.StringProperty()
languages_spoken = ndb.StringProperty(repeated=True, choices=languages)
他们之间有什么区别?
答案 0 :(得分:0)
无法发布带有功能的模型。应用引擎不允许这样做。 Ndb将模型创建为Python类,而不是函数,因此您找到的示例实际上是错误的。
这是为了补充Greg和dyoo,他们只是在评论中说出来。我希望它贴出来作为答案。同样有趣的是查看ndb examples from google,并且在任何情况下都不会将其声明为def。