__PACKAGE__->add_columns( 'description' => { data_type=>'varchar', is_nullable=>1, accessor => '_description' }, ... # Other fields ); sub description { my $self = shift; unless( defined $self->_description() ) { ... # Code to calculate the correct value. $self->_description( $calculated_value ); } return $self->_description(); }