У меня есть приложение Python Flask, которое использует WTForms и Google Cloud Datastore.Независимо от типа поля WTForms, которое я использую, значение сохраняется в виде строки.
Я рассмотрел стандартный способ определения модели в колбе Питона, но подумал, что объявление модели WTForms - это все, что нужно.
модель
Project_Description = TextAreaField('Project Description')
шаблон
{{ form.Project_Description (rows='10',
class_="govuk-textarea govuk-!-width-two-thirds",)
}}
функциональность создания / обновления хранилища данных
def update(self, data, id=None):
if id:
key = client.key('ProjectDetails', int(id))
else:
key = client.key('ProjectDetails')
entity = datastore.Entity(key=key, exclude_from_indexes=('Project_Description'))
entity.update(data)
client.put(entity)
return Datastore_Client().from_datastore(entity)
Я удаляю ProjectDescription из индексации, как когда я его получаю вСохранить как текст или BLOB-объект. Я не хочу ограничивать количество байтов.Когда я отправляю форму, данные сохраняются как стандартная строка, а не как текст или блоб.Я бы предпочел сохранить как каплю, но не уверен, как.