看起来get_file_name(blob_key)
可以按照Blobstore Files API Functions doc使用。但这是在我知道 blob_key 的情况下(实际上,我知道,但这是对数据存储的附加请求)。
我想确认第二次没有将同一个文件添加到 Blobstore。文件名是唯一的。那么,我可以通过文件名检查记录的存在吗?
看起来get_file_name(blob_key)
可以按照Blobstore Files API Functions doc使用。但这是在我知道 blob_key 的情况下(实际上,我知道,但这是对数据存储的附加请求)。
我想确认第二次没有将同一个文件添加到 Blobstore。文件名是唯一的。那么,我可以通过文件名检查记录的存在吗?
不,您无法检查文件名。每次您创建或将具有相同名称的文件加载到 blobstore 时,它都会以相同的名称添加,但会添加一个新的 blob_key。
这是一些删除旧版本 blob 的代码
..... code to create a new blob with filename = name
files.finalize(f_name) # finalize the new blob
blob_key = files.blobstore.get_blob_key(f_name) # get the blob_key of the newly saved blob
blobs = blobstore.BlobInfo.gql("WHERE filename = '%s'" %(name))
for blob in blobs :
if blob.key() != blob_key : blob.delete() # delete old versions of the blob