LINUX.ORG.RU

Пробелы в колонках типа String(N)

 ,


0

2

Буквально вчера начал использовать эту вашу Алхимию, сразу столкнулся со странностью: описываю VARCHAR колонку как Column(String(N)), где N длина строки, соответственно, а в выборках получаю данные поля + пад из пробелов до длины N. Понимаю, что это не ошибка, просто готовлю неправильно, но беглый осмотр документации как и гуглеж результата пока не дали. Подскажите, что делаю не так?

Выборки делаю через обычный session.query(Model).all()/.one().

Небольшой пример:

В табличке лежат данные, например:

|id|uuid|
---------
|1 |abcd|

Тип колонки uuid объявлен как VARCHAR(255) в базе и как Column(String(255) в коде. После запроса я получаю модель с данными:

Model.uuid == "abcd                        " # много пробелов, так что общая длина строки в итоге == 255


Последнее исправление: mikhailsedletsky (всего исправлений: 1)

Уверен, что varchar, а не char?

AnDoR ★★★★★
()

https://www.postgresql.org/docs/9.3/static/datatype-character.html

character varying(n), varchar(n) 	variable-length with limit
character(n), char(n)           	fixed-length, blank padded
text 	                                variable unlimited length

точно читал документацию? также у постгреса есть тип uuid, есть бинарный, зачем колдовать с текстом?

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

все это наследие, я postgresql только начал использовать, про uuid подозревал, сейчас нет времени все переделывать, на счет разных текстовых типов так же были подозрения, но вот что странно — в скаффолд интерфейсах все отлично работает, и даже бекрефы по этим ключам, а мне приходится делать field.strip() и это напрягает

mikhailsedletsky
() автор топика
Ответ на: комментарий от Shadow

как-то peewee мне в душу не запал, хотя его тут тоже используют, я уже взял алхимию

mikhailsedletsky
() автор топика
Ответ на: комментарий от Shadow

я знаю какой пиви, у меня был с ним опыт, но я выбрал алхимию как более взрослую технологию, задачи у меня здесь более сложные чем обычный круд

mikhailsedletsky
() автор топика
Ответ на: комментарий от Deleted

пересмотрел описание схемы, у нас как-раз character varying(255), завтра утром накатаю минимальный воспроизводимый пример с миграцией и выложу в гисты, попробуем вместе

mikhailsedletsky
() автор топика
Ответ на: комментарий от Shadow

мне понравилась алхимия, на ней и остановился, тем более 75% работы это скаффолд flask-admin'а. нам тут ехать а не шашечки.

mikhailsedletsky
() автор топика
Ответ на: комментарий от mikhailsedletsky

А select из таблицы что показывает-то?

AnDoR ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.