Поле body
формы может содержать длинный текст, поэтому свойство String по умолчанию не подойдет.
Ищет, как заставить хранилище данных использовать текст (это не является частью определения сущностикак я помню из версии Python), я нашел это в источнике блога ackbar:
(ns <snip>
(:import (com.google.appengine.api.datastore
EntityNotFoundException Text)))
<snip>
(ds/save! (Post. url title (Text. body) ts in-feed? category))
Но если я сделаю то же самое, я получу: "java.lang.RuntimeException: java.lang.IllegalArgumentException: не знаю, как создать ISeq из: com.google.appengine.api.datastore.Text "
(Одно заметное отличие состоит в том, что на панели управления, на которую я смотрю, используется appengine-magic 0.3.2.)
Я также попытался as-text
, как кратко упомянуто на https://github.com/gcv/appengine-magic#readme,, но (as-text body)
там приводит к тому же сообщению об ошибке, что и выше.
РЕДАКТИРОВАТЬ:Оказалось, что проблема не в том, чтобы получить свойство Text в хранилище, а в том, чтобы понять его при извлечении.Мой обработчик отправки вызывает сохранение, а затем перезагрузку страницы формы, и я не подумал об этом.Извините за шум.
Способ получить значение без икоты - (.getValue body)
.