Проверка выполняется на уровне приложения, в частности в 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
, которого не должно быть, и, исходя из этой информации, отладить проблему.