webアプリで行うDBの操作に、普通は新規登録と編集がある。
そのときに、名前やら何やら、uniqueでなければならない項目が(普通は)ある。
新規登録時には既にその値がDBに存在しないかをチェックし、編集時には自分以外でその値がDBに存在しないかチェックする。
前者はごく普通にできるが後者がめどい
いや普通に出きるんだが、スマートじゃないというか。

$c->form(
           { username => [qw/id username/] } => [ [ 'DBIC_UNIQUE', $c->model('DBIC::Users'), '!id', 'username' ] ],
        );

みたいな。なんかキモい。

ググると同じ問題にぶち当たってる人がいる。
必ず全世界で同じことを解決したがってる人がいると思うんだけどなー。DBICではこう書くしかないらしい。