Сегодня я проверил библиотеку mapreduce для версии GAE на Python, и я никак не могу обернуться вокруг нее. Я пытаюсь перебрать сущности хранилища данных с отсутствующими свойствами и добавить их. Одно из свойств имеет значение по умолчанию, а другое - нет. Свойство, которое не имеет значения по умолчанию, вычисляется из другого свойства (md5 сумма адреса электронной почты, которая удваивается как имя пользователя).
Вот код:
def user_schema(entity):
entity.profile_id = hashlib.md5(string.strip(entity.username)).hexdigest()
entity.verified = False
operation.db.Put(entity)
Когда я запускаю это, я получаю BadValueError для свойства profile_id, потому что оно отсутствует во всех сущностях. Я предполагаю, что это происходит еще до того, как mapreduce запустит user_schema. Как мне добавить недостающие свойства к сущностям?