После извлечения сущности из хранилища данных я хотел бы сохранить его ключ в memcache, а также передать его как часть параметра url для задачи для ссылки на него позже.
Однако, поскольку Key являетсясоставной элемент, вы не можете переслать его как есть, и когда я пытаюсь восстановить ключ, значения не идентичны.
Каков наилучший подход для передачи ключа для ссылки на сущность в более позднее время?
entity_key = feed_entity.key()
logging.info(entity_key) # produces a string like key value
# would like to save a way to reference the key later
memcache.set(entity_key.id_or_name(), some_piece_of_data);
# Will produce the error:
# Key must be a string instance, received datastore_types.Key.from_path
# (u'FeedEntity', u'My_Entity_Name', u'FeedEntity', 2L, _app=u'dev~test_app')
reconstructed_key = Key.from_path('FeedEntity', 'My_Entity_Name', 'FeedEntity', entity_key.id_or_name());
logging.info(reconstructed_key)
# Not the same value as entity_key
params = {"key": entity_key_string_value} # this would be ideal
task = taskqueue.Task(url='/feed_entity/list', params=params).add(queue_name="feed-gopher")