#22969: Forms show_hidden_initial not is_valid() and fix => lost changes in valid fields -------------------------------------+------------------------------------- Reporter: dibrovsd@… | Owner: nobody Type: Bug | Status: new Component: Forms | Version: 1.6 Severity: Normal | Resolution: Keywords: Form | Triage Stage: show_hidden_initial changed_data | Unreviewed Has patch: 1 | Needs documentation: 0 Needs tests: 0 | Patch needs improvement: 1 Easy pickings: 0 | UI/UX: 0 -------------------------------------+-------------------------------------
Comment (by dibrovsd@…): Replying to [comment:4 adambrenecki]: > So, since show_hidden_initial isn't a part of Django's public API, but rather used internally by other parts of Django, and therefore it probably shouldn't be called from user code. > > Are you using this from somewhere else inside Django itself, or from third-party/user code? This is my code. i read django source-code. Without this parameter, it is impossible to write a serious application. Two operators will overwrite each other's changes, when editing an object. If they edit different fields, it should not interfere with each other. But without show_hidden_initial, the second operator will always overwrite any changes the first statement, even if it is not explicitly changed the field. Example: form has 2 field. if not use show_hidden_initial, Form see has_change() as compare initial and data params. initial - value from database before save cleaned_data 0) field_1 = 1 and field_2 = 1 1) User 1 open form 2) User 2 open form 3) User 1 change field_1 to "2" and save form (in database field_1 = "2") 4) User 2 change field_2 to "2" and save form: initial for field_1 == "2" (user 2 changes) and data for field_1 == "1" (this value is obsolete) form mark field_1 as changed from "2" to "1" and restore field_1 value and override changes It is very important Without show_hidden_initial, In a parallel environment, the second user will always overwrite all changes first -- Ticket URL: <https://code.djangoproject.com/ticket/22969#comment:7> Django <https://code.djangoproject.com/> The Web framework for perfectionists with deadlines. -- You received this message because you are subscribed to the Google Groups "Django updates" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-updates+unsubscr...@googlegroups.com. To post to this group, send email to django-updates@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-updates/076.34e793c344286e540f8f4fab4486152e%40djangoproject.com. For more options, visit https://groups.google.com/d/optout.