gpt4 book ai didi

google-app-engine - Google App Engine NDB Datastore get_by_id 获取实体

转载 作者:行者123 更新时间:2023-12-05 01:28:07 25 4
gpt4 key购买 nike

我正在尝试使 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>

我得到以下文本:

None 6201245580656640 Category

我试着按照关于 Model get_by_id 的引用在 Google App Engine 文档中。

最佳答案

你还没有说你是如何创建实体的,但是根据你的示例 None 6201245580656640 Category id like 6201245580656640 告诉我你可能正在使用自动生成的 id ,这是一个整数而不是字符串。您正在从请求对象获取 id,这将是一个字符串。

在您的调用中将其转换为 int get_by_id(int(id))

关于google-app-engine - Google App Engine NDB Datastore get_by_id 获取实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20796063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com