@boxed I think that’s a massive distraction from this topic. “How do we adjust the forms API to allow…?” is not well answered by “Use something else entirely”.
I know you’re keen to promote Iommi, but please don’t hijack unrelated thread. That’s just spammy.
You know Django’s development process, and stability guarantees. It’s entirely unrealistic that we would rewrite the form layer entirely to address the discussion here. Please can we keep it on topic. (You know this.)
I can see that. When I first saw the BoundField I thought the same thing. Going from the BoundField instance to the form field instance to the widget using ...field.field.widget always felt icky. But it’s where we are now, and there are probably good reasons for that – and even if there were none, we couldn’t change this without breaking a lot of code out there. Also, this proposal doesn’t make the mentioned issue (if it is one) worse, it only continues down the path we chose a long time ago, and it’s not a bad one, even if some people relentlessly insist it is.