Свойство XXXX не является многострочным исключением в python GAE - PullRequest
3 голосов
/ 19 января 2010

У меня есть простой объект модели с

profilename = db.StringProperty()

, и когда я получаю строку с "Some More" и пытаюсь

поставить

он в модели выдает исключение

Свойство profilename не является многострочным

Является ли пробел эквивалентным символу новой строки или я что-то здесь упустил?

поставить

для строк из одного слова без пробелов.

1 Ответ

4 голосов
/ 20 января 2010

Проверка выполняется на уровне приложения, в частности в StringProperty.validate - рассматриваемый код (который вы можете найти в исходных текстах вашего SDK в ext / db / init .py):

if not self.multiline and value and value.find('\n') != -1:
  raise BadValueError('Property %s is not multi-line' % self.name)

так что его нельзя запустить, если только \n не имеет действительно нашел свой путь в value, который вы проходите. Чтобы помочь отладить проблему, используйте

logging.info('value is: %r', value)

незадолго до put, который доставляет вам проблемы - что вы видите в журналах в результате? Спецификатор формата %r показывает repr вашей строки, поэтому вы сможете увидеть, где надоедливый \n, которого не должно быть, и, исходя из этой информации, отладить проблему.

...