我试图让get_by_id()
工作,但我不确定我做的是错的还是不行。我希望它能返回类似于ndb.Key('Organization',id).get()
的实体,但两者都不起作用。这是我尝试过的:
class CompaniesPage(BaseHandler):
def get(self):
id = self.request.get('id')
organizations = Organization.query()
company = Organization.get_by_id(id) # first try
values = {
'organizations' : organizations,
'company' : company,
'id' : id
}
self.render_html('companies.html',values)
第二次尝试:
class CompaniesPage(BaseHandler):
def get(self):
id = self.request.get('id')
organizations = Organization.query()
company = ndb.Key('Organization',id).get() # second try
values = {
'organizations' : organizations,
'company' : company,
'id' : id
}
self.render_html('companies.html',values)
这是我使用Jinja2
的html。
<h3> {{ company }} <small>{{ id }} Category</small></h3>
我收到以下文字:
无6201245580656640类别
我尝试在Google App Engine文档中关注Model get_by_id的引用。
答案 0 :(得分:9)
您还没有说过如何创建实体但是根据您的示例None 6201245580656640 Category
,6201245580656640
之类的ID告诉我您可能正在使用自动生成的ID,这是一个不是字符串的整数。您从请求对象获取id,这将是一个字符串。
将其转换为通话get_by_id(int(id))