Opened 15 years ago
Last modified 12 years ago
#12235 closed
MultiValueDictKeyError when editing Inline objects — at Version 4
Reported by: | Owned by: | nobody | |
---|---|---|---|
Component: | contrib.admin | Version: | 1.2 |
Severity: | Normal | Keywords: | |
Cc: | wgordonw1@… | Triage Stage: | Accepted |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
the attached simple model (Book and Author), using a custom UUID type as described here: http://www.gordontillman.info/computers/41-django/94-django-uuidfield-problem
If you add a book with an author, and then try to edit the authors (add a second one, edit the name, etc), you will generate this error:
MultiValueDictKeyError at /admin/gamedata/book/7432e312-d39b-11de-913b-00188b8e3ea8/ Key 'author_set-0-id' not found in <QueryDict: {u'_save': [u'Save'], u'author_set-TOTAL_FORMS': [u'5'], u'author_set-0-book': [u'7432e312-d39b-11de-913b-00188b8e3ea8'], u'title': [u'book1'], u'author_set-0-name': [u'author1'], u'author_set-3-name': [u''], u'author_set-2-book': [u'7432e312-d39b-11de-913b-00188b8e3ea8'], u'author_set-INITIAL_FORMS': [u'2'], u'author_set-4-name': [u''], u'author_set-2-name': [u'asdasdasd'], u'author_set-3-book': [u'7432e312-d39b-11de-913b-00188b8e3ea8'], u'author_set-1-book': [u'7432e312-d39b-11de-913b-00188b8e3ea8'], u'author_set-4-book': [u'7432e312-d39b-11de-913b-00188b8e3ea8'], u'author_set-1-name': [u'authro2']}> Traceback: File "/usr/lib64/python2.6/site-packages/django/core/handlers/base.py" in get_response 92. response = callback(request, *callback_args, **callback_kwargs) File "/usr/lib64/python2.6/site-packages/django/contrib/admin/options.py" in wrapper 226. return self.admin_site.admin_view(view)(*args, **kwargs) File "/usr/lib64/python2.6/site-packages/django/utils/decorators.py" in __call__ 23. return self.decorator(self.func)(*args, **kwargs) File "/usr/lib64/python2.6/site-packages/django/views/decorators/cache.py" in _wrapped_view_func 70. response = view_func(request, *args, **kwargs) File "/usr/lib64/python2.6/site-packages/django/contrib/admin/sites.py" in inner 186. return view(request, *args, **kwargs) File "/usr/lib64/python2.6/site-packages/django/db/transaction.py" in _commit_on_success 240. res = func(*args, **kw) File "/usr/lib64/python2.6/site-packages/django/contrib/admin/options.py" in change_view 826. instance=new_object, prefix=prefix) File "/usr/lib64/python2.6/site-packages/django/forms/models.py" in __init__ 724. queryset=qs) File "/usr/lib64/python2.6/site-packages/django/forms/models.py" in __init__ 459. super(BaseModelFormSet, self).__init__(**defaults) File "/usr/lib64/python2.6/site-packages/django/forms/formsets.py" in __init__ 44. self._construct_forms() File "/usr/lib64/python2.6/site-packages/django/forms/formsets.py" in _construct_forms 88. self.forms.append(self._construct_form(i)) File "/usr/lib64/python2.6/site-packages/django/forms/models.py" in _construct_form 737. form = super(BaseInlineFormSet, self)._construct_form(i, **kwargs) File "/usr/lib64/python2.6/site-packages/django/forms/models.py" in _construct_form 475. pk = self.data[pk_key] File "/usr/lib64/python2.6/site-packages/django/utils/datastructures.py" in __getitem__ 203. raise MultiValueDictKeyError, "Key %r not found in %r" % (key, self)
Change History (5)
by , 15 years ago
comment:1 by , 15 years ago
comment:3 by , 15 years ago
Full error message:
MultiValueDictKeyError at /admin/gamedata/book/7432e312-d39b-11de-913b-00188b8e3ea8/
Key 'author_set-0-id' not found in <QueryDict: {u'_save': [u'Save'], u'author_set-TOTAL_FORMS': [u'5'], u'author_set-0-book': [u'7432e312-d39b-11de-913b-00188b8e3ea8'], u'title': [u'book1'], u'author_set-0-name': [u'author1'], u'author_set-3-name': [u''], u'author_set-2-book': [u'7432e312-d39b-11de-913b-00188b8e3ea8'], u'author_set-INITIAL_FORMS': [u'2'], u'author_set-4-name': [u''], u'author_set-2-name': [u''], u'author_set-3-book': [u'7432e312-d39b-11de-913b-00188b8e3ea8'], u'author_set-1-book': [u'7432e312-d39b-11de-913b-00188b8e3ea8'], u'author_set-4-book': [u'7432e312-d39b-11de-913b-00188b8e3ea8'], u'author_set-1-name': [u'authro2']}>
Request Method: POST
Request URL: http://127.0.0.1:8000/admin/gamedata/book/7432e312-d39b-11de-913b-00188b8e3ea8/
Exception Type: MultiValueDictKeyError
Exception Value:
Key 'author_set-0-id' not found in <QueryDict: {u'_save': [u'Save'], u'author_set-TOTAL_FORMS': [u'5'], u'author_set-0-book': [u'7432e312-d39b-11de-913b-00188b8e3ea8'], u'title': [u'book1'], u'author_set-0-name': [u'author1'], u'author_set-3-name': [u''], u'author_set-2-book': [u'7432e312-d39b-11de-913b-00188b8e3ea8'], u'author_set-INITIAL_FORMS': [u'2'], u'author_set-4-name': [u''], u'author_set-2-name': [u''], u'author_set-3-book': [u'7432e312-d39b-11de-913b-00188b8e3ea8'], u'author_set-1-book': [u'7432e312-d39b-11de-913b-00188b8e3ea8'], u'author_set-4-book': [u'7432e312-d39b-11de-913b-00188b8e3ea8'], u'author_set-1-name': [u'authro2']}>
Exception Location: /usr/lib64/python2.6/site-packages/django/utils/datastructures.py in getitem, line 203
Python Executable: /usr/bin/python2.6
Python Version: 2.6.2
Python Path: ['/usr/local/home/bruce/game/trunk/admin', '/usr/lib64/python26.zip', '/usr/lib64/python2.6', '/usr/lib64/python2.6/plat-linux2', '/usr/lib64/python2.6/lib-tk', '/usr/lib64/python2.6/lib-old', '/usr/lib64/python2.6/lib-dynload', '/usr/lib64/python2.6/site-packages', '/usr/lib64/python2.6/site-packages/Numeric', '/usr/lib64/python2.6/site-packages/PIL', '/usr/lib64/python2.6/site-packages/gst-0.10', '/usr/lib64/python2.6/site-packages/gtk-2.0', '/usr/lib64/portage/pym']
Server time: Tue, 17 Nov 2009 11:19:20 -0600
Environment:
Request Method: POST
Request URL: http://127.0.0.1:8000/admin/gamedata/book/7432e312-d39b-11de-913b-00188b8e3ea8/
Django Version: 1.2 pre-alpha
Python Version: 2.6.2
Installed Applications:
['django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.admin',
'admin.gamedata',
'admin.django_evolution']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware')
Traceback:
File "/usr/lib64/python2.6/site-packages/django/core/handlers/base.py" in get_response
- response = callback(request, *callback_args, callback_kwargs)
File "/usr/lib64/python2.6/site-packages/django/contrib/admin/options.py" in wrapper
- return self.admin_site.admin_view(view)(*args, kwargs)
File "/usr/lib64/python2.6/site-packages/django/utils/decorators.py" in call
- return self.decorator(self.func)(*args, kwargs)
File "/usr/lib64/python2.6/site-packages/django/views/decorators/cache.py" in _wrapped_view_func
- response = view_func(request, *args, kwargs)
File "/usr/lib64/python2.6/site-packages/django/contrib/admin/sites.py" in inner
- return view(request, *args, kwargs)
File "/usr/lib64/python2.6/site-packages/django/db/transaction.py" in _commit_on_success
- res = func(*args, kw)
File "/usr/lib64/python2.6/site-packages/django/contrib/admin/options.py" in change_view
- instance=new_object, prefix=prefix)
File "/usr/lib64/python2.6/site-packages/django/forms/models.py" in init
- queryset=qs)
File "/usr/lib64/python2.6/site-packages/django/forms/models.py" in init
- super(BaseModelFormSet, self).init(defaults)
File "/usr/lib64/python2.6/site-packages/django/forms/formsets.py" in init
- self._construct_forms()
File "/usr/lib64/python2.6/site-packages/django/forms/formsets.py" in _construct_forms
- self.forms.append(self._construct_form(i))
File "/usr/lib64/python2.6/site-packages/django/forms/models.py" in _construct_form
- form = super(BaseInlineFormSet, self)._construct_form(i, kwargs)
File "/usr/lib64/python2.6/site-packages/django/forms/models.py" in _construct_form
- pk = self.data[pk_key]
File "/usr/lib64/python2.6/site-packages/django/utils/datastructures.py" in getitem
- raise MultiValueDictKeyError, "Key %r not found in %r" % (key, self)
Exception Type: MultiValueDictKeyError at /admin/gamedata/book/7432e312-d39b-11de-913b-00188b8e3ea8/
Exception Value: Key 'author_set-0-id' not found in <QueryDict: {u'_save': [u'Save'], u'author_set-TOTAL_FORMS': [u'5'], u'author_set-0-book': [u'7432e312-d39b-11de-913b-00188b8e3ea8'], u'title': [u'book1'], u'author_set-0-name': [u'author1'], u'author_set-3-name': [u''], u'author_set-2-book': [u'7432e312-d39b-11de-913b-00188b8e3ea8'], u'author_set-INITIAL_FORMS': [u'2'], u'author_set-4-name': [u''], u'author_set-2-name': [u''], u'author_set-3-book': [u'7432e312-d39b-11de-913b-00188b8e3ea8'], u'author_set-1-book': [u'7432e312-d39b-11de-913b-00188b8e3ea8'], u'author_set-4-book': [u'7432e312-d39b-11de-913b-00188b8e3ea8'], u'author_set-1-name': [u'authro2']}>
Note: this error occurs whether you specify auto_created=True or auto_created=False, for Book, Author, and UUIDField (I have tried all 8 combinations of auto_created on and off for all three types).