Opened 10 years ago
Last modified 10 years ago
#23387 closed Bug
Error when saving inline formsets as new after a validation error. — at Initial Version
Reported by: | John R. Tipton | Owned by: | nobody |
---|---|---|---|
Component: | contrib.admin | Version: | dev |
Severity: | Normal | Keywords: | admin formset validation base10 |
Cc: | karnatijayadeep@… | Triage Stage: | Ready for checkin |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | yes | UI/UX: | no |
Description
This bug seems to have been around for a long time, as I've tried this from version 1.4 up.
While in the admin, if you have a form with inline formsets and you try to do a save as new, it works properly, unless there is a validation error. If you get a validation error, Django sends you through the add_view which no longer as the "Save as new" option. If you click save here, you will get the error below:
ValueError at /admin/drawings/sow/add/
invalid literal for int() with base 10:
Request Method: POST
Request URL: http://127.0.0.1:8000/admin/drawings/sow/add/
Django Version: 1.6.6.dev20140829183230
Exception Type: ValueError
Exception Value:
invalid literal for int() with base 10:
Exception Location: /Users/tip/Dropbox/websites/isotekrms/django/db/models/fields/init.py in get_prep_value, line 613
Python Executable: /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
Python Version: 2.7.6
I, have written a small patch that will check to see if the formset had validation errors and it was submitted as a save as new, it will set the context variable change=True which causes the "Save as new" button to show on the form again. Fixing the validation errors on the screen and pressing "Save as new" again will save the form properly.
Patch