class ChoiceType(types.TypeDecorator):
    impl = types.String

def __init__(self, choices, **kw):
    self.choices = dict(choices)
super(ChoiceType, self).__init__(**kw)

def process_bind_param(self, value, dialect):
    return [k for k, v in self.choices.items() if v == value][0]

def process_result_value(self, value, dialect):
    pass
SQLAlchemy - How to make "django choices" using SQLAlchemy?