Google app engine 如何为谷歌的NDB(应用引擎存储)播种

Google app engine 如何为谷歌的NDB(应用引擎存储)播种,google-app-engine,model,app-engine-ndb,seeding,Google App Engine,Model,App Engine Ndb,Seeding,我是NDB用户,这个对象数据库很酷。但如何在部署后直接为特定的默认值播种?是否有一些预定义的功能或标准化的数据库种子设定方法 例如: 我有下面的ndb.Model,需要某种现有的默认父级 Categoryndb.Model: name=ndb.StringPropertyrequired=True parent=ndb.KeyPropertykind='Category',required=True, 违约= 在何处放置以下种子设定值 main\u category=Categoryname=a

我是NDB用户,这个对象数据库很酷。但如何在部署后直接为特定的默认值播种?是否有一些预定义的功能或标准化的数据库种子设定方法

例如:

我有下面的ndb.Model,需要某种现有的默认父级

Categoryndb.Model: name=ndb.StringPropertyrequired=True parent=ndb.KeyPropertykind='Category',required=True, 违约= 在何处放置以下种子设定值

main\u category=Categoryname=all,parent=None这是根类别 主目录
我想我理解你的要求

您可以创建父密钥,而无需创建实体。这将定义您的实体组


或者,它不需要父母,而是任何孩子的父母。任何没有在密钥中定义父级的实体都将成为其自身实体组的根,并且该实体组可以有一个或多个成员,即其自身和任何子实体。

我想我理解您的要求

您可以创建父密钥,而无需创建实体。这将定义您的实体组


或者,它不需要父母,而是任何孩子的父母。没有在键中定义父项的任何实体都将成为其自身实体组的根,并且该实体组可以有一个或多个成员,即其自身和任何子实体。

为什么不创建一个简单的种子处理程序,以便在部署后调用,例如。/seaking/example?在我看来,你只需要播种一次,所以没有必要用钩子

seed.py:

类示例SampleHandlerWebApp2.RequestHandler: def getself: 做你的事 可能使用get_或_insert。见[1] 回来 app=webapp2.WSGIApplication [ “/example”,exampleMandler, ], 调试=真 然后在app.yaml中:

- url: /seeding/.*
  script: seed.app
  login: admin
最后一句话至关重要。它保护您的种子脚本不受未经授权的访问,请参见[2]

[1]


[2] 为什么不创建一个简单的种子处理程序,以便在部署后调用,例如/seaking/example?在我看来,你只需要播种一次,所以没有必要用钩子

seed.py:

类示例SampleHandlerWebApp2.RequestHandler: def getself: 做你的事 可能使用get_或_insert。见[1] 回来 app=webapp2.WSGIApplication [ “/example”,exampleMandler, ], 调试=真 然后在app.yaml中:

- url: /seeding/.*
  script: seed.app
  login: admin
最后一句话至关重要。它保护您的种子脚本不受未经授权的访问,请参见[2]

[1]


[2]

看起来没有专门的“部署后”挂钩。我只需将一些代码放入主处理程序脚本中,即包含“webapp2.WSGIApplication…”的脚本,检查根类别是否已经存在,如果不存在,则创建它。或者,这可能是某些处理程序操作的一部分。

似乎没有专门的“部署后”挂钩。我只需将一些代码放入主处理程序脚本中,即包含“webapp2.WSGIApplication…”的脚本,检查根类别是否已经存在,如果不存在,则创建它。或者,这可能是某些处理程序操作的一部分