from sqlalchemy.types import TypeDecorator, VARCHAR
import simplejson
[docs]class JSONType(TypeDecorator):
impl = VARCHAR
[docs] def process_bind_param(self, value, dialect):
if value is not None:
value = simplejson.dumps(value)
return value
[docs] def process_result_value(self, value, dialect):
if value is not None:
value = simplejson.loads(value)
return value
[docs]class StringBackedInteger(TypeDecorator):
impl = VARCHAR
[docs] def process_bind_param(self, value, dialect):
return str(value)
[docs] def process_result_value(self, value, dialect):
return int(value)