If i have in my model:
public function afterFetch(){
      $this->user_postcode_range = $this->user_postcode_range != '' ? unserialize($this->user_postcode_range) : array();
}
When i use this find, my user_postcode_range is not unserialized
$user = Users::findFirst(
    array(
        "columns" => array("user_postcode_range"),
        "conditions" => "user_active = 1"
    )
);
When i use this, my user_postcode_range is unserialized. Why when i use columns in my query my model don't unserialize data ?: 
$user = Users::findFirst(
    array(
        "conditions" => "user_active = 1"
    )
);