Google App Engine 从数据存储区返回奇数值
Google App Engine returning odd values from datastore
我正在尝试将一个简单的字符串保存到数据存储区,重定向到该实体的密钥,然后在下一个处理程序中获取它。当我在 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)
当你这样做时在你的 PDFHandler 中
a = db.Key.from_path('Pdf', id)
您得到的是 Key 对象,而不是实体。
要获取 Pdf 实体,您可以执行以下操作
pdf = db.get(a)
然后您可以访问 pdf 上的字段,例如 pdf.name 等
我正在尝试将一个简单的字符串保存到数据存储区,重定向到该实体的密钥,然后在下一个处理程序中获取它。当我在 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)
当你这样做时在你的 PDFHandler 中
a = db.Key.from_path('Pdf', id)
您得到的是 Key 对象,而不是实体。
要获取 Pdf 实体,您可以执行以下操作
pdf = db.get(a)
然后您可以访问 pdf 上的字段,例如 pdf.name 等