While trying to write a patch I figured out settings up `localize` after instantiation doesn't alter the underlying widget's `is_localized` property. Plus I realized I was actually using a custom `ModelAdmin` with an overriden `formfield_for_dbfield` to handle what was described in the `LocalizedForm` example, so we're not actually breaking anything as far as I can tell.

For this reason I retract my concern here, the `setdefault` approach seems to be the right way to do this.

I'll attach a patch with additional tests and the `DecimalField.widget_attrs` issue fixed at [#19686].(https://code.djangoproject.com/ticket/19686)