我使用的是pythonsdkforgoogleappengine,还有瓶子。在
运行类似这样的简单操作来设置一些要使用的实体:
@bottle.route('/test')
def testing():
Statistic(team_id = 2, qty_customers = 600).put()
Statistic(team_id = 3, qty_customers = 5).put()
return "Done."
统计如下:
^{pr2}$我希望它为每个实体创建一个实体,并将它们添加到数据存储中。它为每个副本创建两个副本,并将它们添加到数据存储中。在
如何使代码只添加一个实体?在
为什么要创造两个呢?在
编辑: 为了澄清,我只运行testing()函数一次,它创建了4个实体。每个副本两份。在
在旧数据库(
db.Model
)中,创建实例时必须指定key_name
。在在新的DB(
ndb.Model
)中,需要指定id
,否则将选择递增整数。在因此,两次调用函数
testing
会产生4个不同的Statistic
实例,ID分别为1、2、3和4。在如果为每个
Statistic
实例显式指定一个不同的ID,则只能得到两个实例。在我认为在您的情况下,您最好删除
team_id
字段:然后,为您创建的每个
^{pr2}$Statistic
实例指定一个唯一的ID:顺便说一句,我认为建议使用字符串ID而不是整数ID:
更新:
即使您只在应用程序中调用函数
testing
,GAE通常会创建并销毁应用程序实例本身。因此,每次创建应用程序的新实例时,也会创建一对新的Statistic
实例。如果这些实例不在数据库中,那么当您调用函数put
时,它们会被添加到数据库中(这就是为什么您需要为每个实例指定一个ID)。在相关问题 更多 >
编程相关推荐