Blobstore Files APIFunctionsdocget_file_name(blob_key)
に従って使用できるようです。しかし、これは私がblob_keyを知っている場合です(実際、私はそれを知っていますが、これはデータストアへの追加のリクエストです)。
同じファイルがBlobstoreに2回追加されていないことを確認したいと思います。ファイル名は一意です。では、ファイル名でレコードの存在を確認できますか?
Blobstore Files APIFunctionsdocget_file_name(blob_key)
に従って使用できるようです。しかし、これは私がblob_keyを知っている場合です(実際、私はそれを知っていますが、これはデータストアへの追加のリクエストです)。
同じファイルがBlobstoreに2回追加されていないことを確認したいと思います。ファイル名は一意です。では、ファイル名でレコードの存在を確認できますか?
いいえ、ファイル名を確認することはできません。同じ名前のファイルを作成またはoploadして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