При вставке объекта в базу данных с помощью SQLAlchemy все его свойства, соответствующие столбцам String (), автоматически преобразуются изв,Есть ли способ предотвратить такое поведение?
Вот код:
from sqlalchemy import create_engine, Table, Column, Integer, String, MetaData
from sqlalchemy.orm import mapper, sessionmaker
engine = create_engine('sqlite:///:memory:', echo=False)
metadata = MetaData()
table = Table('projects', metadata,
Column('id', Integer, primary_key=True),
Column('name', String(50))
)
class Project(object):
def __init__(self, name):
self.name = name
mapper(Project, table)
metadata.create_all(engine)
session = sessionmaker(bind=engine)()
project = Project("Lorem ipsum")
print(type(project.name))
session.add(project)
session.commit()
print(type(project.name))
А вот и вывод:
<type 'str'>
<type 'unicode'>
Я знаю, что, наверное, простоработать с юникодом, но это потребует копания стороннего кода, и у меня пока нет навыков Python:)