2012-08-14 2 views
0

BLOB 키가 포함 된 ndb 엔티티를 삭제하는 가장 좋은 방법은 무엇입니까?Google App Engine 데이터 저장소에서 blobkeys로 엔티티를 삭제하는 방법

이것을 시도 잡아서 래핑해야합니까? for 루프를 일괄 처리로 전개 할 수 있습니까 (ndb는 asnyc 임).

내가 지금까지 시도한 것입니다하지만 난 그게 가장 좋은 방법인지 잘 모르겠어요 : 난 당신이 개체 자체 대신 인라인 작업의 모양을 삭제해야한다고 생각

to_delete = BlogPost.query(ancestor=ndb.Key('BlogPost', int(id))).fetch(1)[0] 
for blob_key in to_delete.blob_keys: 
    info = blobstore.BlobInfo(bob_key) 
    info.delete() 
to_delete.key.delete() 
delete_success = "successfully deleted" 

self.response.out.write(delete_success) 

답변

1

.
작업을 대기시키고 한 번에 엔티티를 삭제할 트랜잭션을 생성 할 수 있습니다.

작업에서 얼룩을 삭제하면 오류가 발생할 경우 재 시도 할 수 있고 얼룩이 많은 경우 삭제 작업이 지연되지 않습니다.

+0

감사합니다. - 잠시 잊어 버렸습니다. 이쪽은 의사 맞지? https://developers.google.com/appengine/docs/python/taskqueue/overview –

+0

@robertking 예 –

관련 문제