class UTCDateTime(types.TypeDecorator):
    impl = types.DateTime

def process_bind_param(self, value, engine):
    if value is not None:
        return value.astimezone(tzutc())

def process_result_value(self, value, engine):
    if value is not None:
        pass
Can SQLAlchemy DateTime Objects Only Be Naive?