Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Базы данных > MySQLdb словарь преобразования типов


Автор: dipsy 26.8.2008, 14:15
тут http://megalib.com/books/129/glava05.htm пишут:
Цитата
Если Вы имеете установленный пакет mx.DateTime , MySQLdb использует его для связанных с датой объектов. Иначе они будут возвращены как строки. Вы можете также изменять словарь преобразования типов, чтобы возвратить их как другие объектные классы.


что есть "словарь преобразования типов", как его менять?

Автор: dipsy 26.8.2008, 14:38
Код
    c_Connect = MySQLdb.connect( host=c_host, db=c_database, user=c_user ) 
    print repr( c_Connect.__dict__ )

выводит 
Цитата
{'encoders': {<type 'int'>: <function Thing2Str at 0x87c7e9c>, <type 'long'>: <function Thing2Str at 0x87c7e9c>, <type 'instance'>: <function Instance2Str at 0x87c7fb4>, <type 'list'>: <built-in function escape_sequence>, <type 'datetime.timedelta'>: <function DateTimeDelta2literal at 0xf14e1c6c>, <type 'array.array'>: <function array2Str at 0x87b4064>, <type 'bool'>: <function Bool2Str at 0x87b409c>, <type 'unicode'>: <function unicode_literal at 0x87c7064>, <class 'sets.Set'>: <function Set2Str at 0x87c7e64>, <type 'object'>: <function Instance2Str at 0x87c7fb4>, <type 'float'>: <function Float2Str at 0x87c7f0c>, <type 'dict'>: <built-in function escape_dict>, <type 'str'>: <function string_literal at 0x87b49cc>, 'datetime.datetime': 'datetime2str', <type 'tuple'>: <built-in function escape_sequence>, <type 'NoneType'>: <function None2NULL at 0x87c7f44>, <type 'datetime.datetime'>: <function DateTime2literal at 0xf14e1c34>}, 'string_decoder': <function string_decoder at 0x87c702c>, 'messages': [], '_transactional': 8192L, '_server_version': (5, 0), 'unicode_literal': <function unicode_literal at 0x87c7064>, 'cursorclass': <class 'MySQLdb.cursors.Cursor'>}

Автор: dipsy 27.8.2008, 13:49
словарь преобразования типов указывается в качестве необязательного параметра conv:
Код
c_Connect = MySQLdb.connect( host=c_host, db=c_database, user=c_user, conv=conv1 )


conv задаёт правила преобразования получаемых значений из MySQL к значениям соответственных типов Python.
по умолчанию, conv наследуется от MySQLdb.converters.conversions


Автор: wuchun 2.9.2010, 10:41
convhttp://www.eluxury-brands.com/
 задаёт правила преобразования получаемых значений изhttp://www.eluxury-brands.com/ MySQL к значениям соответственных типов Python.
по умолчанию, conv наследуется отhttp://www.eluxury-brands.com/ MySQLdb.converters.conversions



Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)