Creando una columna tipo JSON en SQLite con sqlalchemy

¿Es posible crear una columna de tipo JSON en SQLite con sqlalchemy? He intentado

import sqlalchemy.types as types ... myColumn = Column(types.JSON()) 

y

 from sqlalchemy import JSON ... mycolumn = Column(JSON) 

Ambos reciben mensaje de error:

El comstackdor no puede representar un elemento de tipo

Preguntándome si hay alguna solución en sqlalchemy o simplemente debería cambiar a SQL en su lugar. Gracias por adelantado.

[Actualizaciones] SQLite versión 3.16.0

JSON no se agregó a SQLite hasta la versión 3.9. Tendrá que actualizar su SQLite o convertir su json en una cadena y guardarlo como tal, mientras lo convierte de nuevo en un objeto json cuando lo saque.

Mi solución es:

 import json from sqlalchemy import TypeDecorator, types class Json(TypeDecorator): @property def python_type(self): return object impl = types.String def process_bind_param(self, value, dialect): return json.dumps(value) def process_literal_param(self, value, dialect): return value def process_result_value(self, value, dialect): try: return json.loads(value) except (ValueError, TypeError): return None ... myColumn = Column("name", Json) 

Para más información: TypeDecorator.

SQLAlchemy 1.3 incluirá soporte para la extensión SQLite JSON , así que no olvide actualizar:

 pip install --user -U --pre SQLAlchemy 

El tipo específico de dialecto sqlite.JSON implementa el acceso de miembros JSON, utilizable a través de los tipos de tipo types.JSON también.