python 2.7 app engine 1.8.5.1039
对于我的生活我无法弄清楚乳清我的InventoryItem Expando模型返回无。我的身份证有效。我检查数据存储的次数比我想记住的次数多。我是否必须将Expando模型传递给父母才能正常工作?
class InventoryItem(db.Expando):
def toDict(self):
d = db.to_dict(self)
d['id'] = self.key().id()
return d
inventoryItem = InventoryItem(parent=toon.getInventory())
for k,v in item.iteritems():
setattr(inventoryItem,k,v)
inventoryItem.put()
inventoryItem_id = self.request.get("id")
logging.info(inventoryItem_id)#5770237022568448
item = InventoryItem.get_by_id(long(inventoryItem_id))#returns None
答案 0 :(得分:2)
您对get_by_id的调用将需要提供父级,因为您在创建实体时提供父级。 InventoryItem(parent=toon.getInventory())
查看get_by_id(id, parent=None, app=None, namespace=None, **ctx_options)
我还建议你去阅读关于密钥工作方式的文档,以便很好地理解使用父方法对于使用appengine非常重要。