如何在Google App Engine中将文本字符串保存为数据存储区中的blob类型?

时间:2012-12-13 09:40:47

标签: python google-app-engine blob datastore

让我们直接看到片段:

class RequestHandler(webapp.RequestHandler):
  def get(self):
    data = self.request.get('test')
    blob = db.Blob(data) # what should I do here?

    """ Save blob into datastore """

    self.response.out.write("Success")

我要做的是将“数据”转换为“blob”类型,然后将其保存到数据存储区中。我看到official sample使用了db.Blob()但它对我不起作用(发生服务器错误并且没有显示“成功”)。我该怎么做才能满足我的需求?谢谢你的时间!

1 个答案:

答案 0 :(得分:0)

日志输出“TypeError:Blob()参数应该是str实例,而不是unicode”。我再次搜索,发现通常我们应该将数据存储区中的unicode字符串存储为db.TextProperty,而不是db.BlobProperty。所以纠正应该是:

class RequestHandler(webapp.RequestHandler):
  def get(self):
  text = self.request.get('test')
  """ Don't convert text to blob """
  """ Save text into datastore as db.TextProperty """

  self.response.out.write("Success")