Форум сайта python.su
Пользуюсь либой MySQLdb, и несколько напрягает, то что вместо “Null” возвращается None (по логике программы приходится руками перебирать возвращаемые значения и заменять). Есть вроде преобразование возвращаемых значений, но вот как заменять none (а точнее отменить замену Null на None) не нашёл. Никто не сталкивался?
Заранее спасибо!
Офлайн
Сталкиваюсь, причем ты не описал всю проблему……..
Менять Null на None и обратно я не пыталась, мне оба варианта не нравятся, объясняю почему:
Если поле базы данных разрешает значение Null и оно стоит по умолчанию, то это не значит, что ты сможешь вставить это значение в это поле используя MySQLdb. Эту ситуацию я обошла тем, что убрала значение по умолчанию Null. Еще сложность с датами…… возвращает из базы None, а вставлять нужно ‘0000-00-00’.
Офлайн
GiperFuzzТы что, хочешь чтобы он тебе вместо None возвращал строку “Null”??? None - это как раз и есть ближайший питоновский эквивалент SQL-ного NULL.
напрягает, то что вместо “Null” возвращается None
Офлайн
proDivaДа, приблизительно такая же фигня. У меня всё осложняется тем, что возвращаю результаты по XMLRPC, а в нём None запрещены. Ну и ещё по логике программы тоже лучше, чтобы не None. Сейчас просто в цикле всё заменяю, но неудобно. Проовал переопределить преобразователи типов возвращаемых значений, но в них None даже не передаётся :(
Сталкиваюсь, причем ты не описал всю проблему……..
Менять Null на None и обратно я не пыталась, мне оба варианта не нравятся, объясняю почему:
Если поле базы данных разрешает значение Null и оно стоит по умолчанию, то это не значит, что ты сможешь вставить это значение в это поле используя MySQLdb. Эту ситуацию я обошла тем, что убрала значение по умолчанию Null. Еще сложность с датами…… возвращает из базы None, а вставлять нужно ‘0000-00-00’.
Офлайн