Ты рядом. Единственным существенным отличием является в том, что вам нужно передать фактический класс вместо строки, представляющей имя класса, и в том, что вы должны использовать фабричный метод Key.from_path()
вместо конструктора по умолчанию:
class Phone(Model):
phone_name = db.StringProperty()
r = Phone(phone_name='Nokia', key_name='first')
r.put()
k = db.Key.from_path('Phone', 'first')
r = db.get(k)
В целом, однако, я обнаружил, что использование автоматически сгенерированных идентификаторов, как правило, является лучшим решением, чем указание собственных имен ключей. Есть ли конкретная причина, по которой вы делаете последнее?