从我通过创建一个简单项目确认的the tutorial,在运行查询时自动生成index.yaml
文件。我进一步观察到,在此之前,管理控制台(http://localhost:8080/_ah/admin/datastore
)没有显示数据存储。
我的问题是:我有一个项目,可以通过数据存储管理控制台手动添加数据/实体。该网站仅用于显示/检索数据,而不是用于向数据存储添加数据。
如何让我的数据存储显示在控制台上以便我可以添加数据?
是的,尝试通过浏览器从空数据存储中检索,这样我就可以填充index.yaml
等等。但这不起作用。
答案 0 :(得分:1)
最简单的方法可能就是在项目文件夹中创建一个小的python脚本,并在脚本中创建实体。将其分配给您将使用一次的URL处理程序,然后禁用。
你甚至可以从python shell中完成它。它对调试非常有用,但您需要将其设置一次。 http://alex.cloudware.it/2012/02/your-app-engine-app-in-python-shell.html
要在制作时执行相同操作,请使用remote_api: https://developers.google.com/appengine/articles/remote_api
答案 1 :(得分:0)
这是一个非常奇怪的问题。
index.yaml
的自动创建仅在本地进行,只是帮助您创建该文件并将其上传到AppEngine。在服务器上没有自动创建或更新该文件:正如文档所解释的那样,除非index.yaml中已存在相关索引,否则不能运行任何查询。
由于您需要索引来运行查询,因此您必须在本地创建该文件 - 手动创建或通过对开发数据存储区运行相关查询 - 然后将其与您的应用程序一起上传。
但是,这与数据存储区查看器是否出现在管理员中没有任何关系。在线,它将始终显示,但只显示实际在商店中有实例的实体种类。数据存储区查看器对您的模型一无所知,它只知道数据存储区中存在的种类。
答案 2 :(得分:0)
在开发服务器上,您可以使用the interactive console创建/实例化/保存实体,这应该会导致实体类出现在数据存储区界面中,如下所示:
from google.appengine.ext import ndb
class YourEntityModel(ndb.Model):
pass
YourEntityModel().put()