Извините за смутный заголовок, я не знаю, как еще это сформулировать.
У меня есть обработчик запросов работника, который извлекает данные из URL-адреса, записывает их в хранилище больших двоичных объектов и сохраняет ключ данных blob_key вListProperty в хранилище данных.Я попытался упростить код для ясности здесь:
class Fetch(webapp2.RequestHandler):
def get(self):
url = self.request.get('url')
itemKey = self.request.get('itemKey')
item = MyModel.get(itemKey)
try:
result = urlfetch.fetch(url=url)
if result.status_code == 200:
saveDataResult = save_data(result.content, itemKey)
if saveDataResult is False:
raise Exception('error saving data')
else:
raise Exception('error fetching data: %s' % result.status_code)
item.status = 'success'
except Exception:
item.status = 'failed'
finally:
item.put()
def save_data(data, itemKey)
try:
#write data to blobstore and get its blob_key...
blob_key = files.blobstore.get_blob_key(file_name)
item = MyModel.get(itemKey)
item.blobKey.append(blob_key)
item.put()
return True
except:
return False
Теперь у меня проблема в том, что когда saveDataResult возвращает True, его статус устанавливается в «success», но его свойство blobKey не содержит значениядаже если был создан blob_key и данные успешно записаны.Я не вижу причин, по которым это спасло мою жизнь, пожалуйста, помогите.