如何在本地交互式控制台中调用Model类的方法?

时间:2012-08-13 23:39:58

标签: python google-app-engine google-cloud-datastore

我从昨天开始一直在寻找这个,但仍然没有。从所有研究来看,这是我迄今为止的理解。

  • 您可以使用remote_api_shell.py
  • 远程访问数据存储区
  • 确保在您的环境变量中正确设置了路径。

根据我的理解,他们谈论的远程数据存储是appspot.com中的数据存储,而不是本地数据存储。我现在不想部署我的应用程序,因此我想在本地工作,至少现在。

我在我的应用中创建了一个名为Usersdb的模型。作为一个来自PHP,MYSQL背景的人,我认为GQL会为我们提供控制台环境来测试查询。但经过一些谷歌搜索后,我发现你可以从

中的交互式控制台操作本地数据存储区。
http://localhost:8081/_ah/admin/interactive

从帖子Google App Engine GQL query on localhost我开始在交互式控制台中执行GqlQuery,而在localhost中执行如下操作: -

from google.appengine.ext import db
q = db.GqlQuery("SELECT * FROM Userdb where username = 'random_user'")
print q.get().username

但我真正想做的是在我的交互式控制台中执行方法调用,如get_by_id()和get_by_key_name()等,而无需在我的应用程序上进行测试。喜欢: -

print Userdb.get_by_id(12)

我怎样才能让那些跑步?我是否必须将我的python文件导入交互式控制台?我也试过这样做,但它崩溃了app引擎。我刚开始使用app引擎。如果这是一个完全愚蠢的问题,请原谅我。

1 个答案:

答案 0 :(得分:3)

您应该在交互式控制台中导入您在会话中编写的模型类。例如,如果您的应用程序中有一个名为model.py的文件,其中包含您的Userdb类,您可以在交互式控制台中编写以下内容:

import model

print model.Userdb.get_by_id(12)