我尝试对数据存储区执行简单的保存字符串,重定向该实体的密钥,然后在下一个处理程序中获取它。当我在PDFHandler中进行调用以获取字符串(a.name())" w"无论我进入什么地方,每次都会返回。
class Pdf(db.Model):
name = db.StringProperty(required=True)
class InputHandler(Handler):
def get(self):
self.render('cert_form.html')
def post(self):
name = self.request.get('name')
if name:
a = Pdf(name=name)
a.put()
self.redirect('/key=%s' % a.key())
else:
error = "Please enter your full name."
self.render('cert_form.html')
class PDFHandler(Handler):
def get(self, id):
a = db.Key.from_path('Pdf', id)
self.response.write(a.name())
application = webapp2.WSGIApplication([
(r'/', InputHandler),
(r'/key=(.)+', PDFHandler),
], debug=True)
答案 0 :(得分:2)
当您执行
时在PDFHandler中a = db.Key.from_path('Pdf', id)
你得到的是Key对象而不是实体。
要获取Pdf实体,您可以执行以下操作
pdf = db.get(a)
然后你可以访问pdf上的字段,如pdf.name等。