| Preventing accidental overwriting has been on my todo list for many years. But since it's so very rare in practice I haven't gotten around to it. Django forms having this problem is, in my opinion, WAY down the list of problems. I originally wrote the forms library in iommi to be able to programmatically create forms in a sane way but it has since evolved to fix many more of the weaknesses of django. Some highlights: - good rendering of forms to html! - that can be customized without resorting to writing gigantic amounts of brittle template code - render form errors - strip space from inputs by default - always writes the encoding attr so file uploads work by default instead of silently failing by default - you don't need to manually pass request.FILES (another silent failure not just beginners get bitten by) - don't allow misses like duplicate names that causes silent data loss Plus the iommi features of nesting and having multiple forms/tables/menus/etc on one page with clean composition. |
The main driver for getting it done is mostly to set the groundwork for the websocket autosave feature, which would be exceeding dangerous without this.