should 'natural flow' for this be sth like: try to create, if exists (start, end, is_active, forecast unique constraint violated) report error in except clause (just switch try body with except body and remove Statement.object.get(...))