无法将键分配给blobstore.BlobReferenceProperty()

时间:2014-03-10 11:35:51

标签: google-app-engine blobstore

我正在尝试将照片上传到blobstore。我的代码与示例here

类似
class Image(ndb.Model):
    date = ndb.DateTimeProperty(auto_now_add=True)
    user = ndb.UserProperty()
    blob_key = blobstore.BlobReferenceProperty()

在我的UploadHandler中,我执行以下操作:

blob_info = self.get_uploads('file')[0]
image = Image()
image.user = users.get_current_user()
image.blob_key = blob_info.key()

但是,最后一行总是会导致以下错误:

TypeError: cannot concatenate 'str' and 'NoneType' objects

这让我发疯了。我可以上传图片,但我无法存储密钥!谁知道什么可能是错的?

1 个答案:

答案 0 :(得分:0)

如果你想使用BlobReferenceProperty,你将不会将数据模型还原为db,如果你真的想使用ndb,你需要使用voscausa提到的BlobKeyProperty。我个人觉得db模型比ndb更简单,并且没有真正得到ndb的炒作

class Image(db.Model):
    user = db.UserProperty()
    blob_key = blobstore.BlobReferenceProperty()