Я собираю базовый фотоальбом на appengine, используя python 27. Я написал следующий метод для извлечения деталей изображения из хранилища данных, соответствующих определенному «приключению». Я использую ограничения и смещения для нумерации страниц, однако это очень неэффективно. После просмотра 5 страниц (из 5 фотографий на страницу) я уже использовал 16% своего Datastore Small Operations. Интересно, что я использовал только 1% операций чтения из хранилища данных. Как я могу сделать это более эффективным для небольших операций хранилища данных - я не уверен, из чего они состоят.
def grab_images(adventure, the_offset=0, the_limit = 10):
logging.info("grab_images")
the_photos = None
the_photos = PhotosModel.all().filter("adventure =", adventure)
total_number_of_photos = the_photos.count()
all_photos = the_photos.fetch(limit = the_limit, offset = the_offset)
total_number_of_pages = total_number_of_photos / the_limit
all_photo_keys = []
for photo in all_photos:
all_photo_keys.append(str(photo.blob_key.key()))
return all_photo_keys, total_number_of_photos, total_number_of_pages