#12647: Django admin unique validation fails
----------------------------------+-----------------------------------------
 Reporter:  jtiai                 |       Owner:  nobody    
   Status:  new                   |   Milestone:            
Component:  django.contrib.admin  |     Version:  1.2-alpha 
 Keywords:                        |       Stage:  Unreviewed
Has_patch:  0                     |  
----------------------------------+-----------------------------------------
 If Model Meta has unique_together set as sequence admin view fails. If
 unique_together is tuple admin works as expected.

 Traceback:
 {{{
 #!python
 Traceback (most recent call last):
   File "/home/KEYPRO/jtiai/src/django-workspaces/netreg/django-
 trunk/django/core/servers/basehttp.py", line 672, in __call__
     return self.application(environ, start_response)
   File "/home/KEYPRO/jtiai/src/django-workspaces/netreg/django-
 trunk/django/core/handlers/wsgi.py", line 241, in __call__
     response = self.get_response(request)
   File "/home/KEYPRO/jtiai/src/django-workspaces/netreg/django-
 trunk/django/core/handlers/base.py", line 143, in get_response
     return self.handle_uncaught_exception(request, resolver, exc_info)
   File "/home/KEYPRO/jtiai/src/django-workspaces/netreg/django-
 trunk/django/core/handlers/base.py", line 167, in
 handle_uncaught_exception
     return debug.technical_500_response(request, *exc_info)
   File "/home/KEYPRO/jtiai/src/django-workspaces/netreg/django-
 trunk/django/core/handlers/base.py", line 101, in get_response
     response = callback(request, *callback_args, **callback_kwargs)
   File "/home/KEYPRO/jtiai/src/django-workspaces/netreg/django-
 trunk/django/contrib/admin/options.py", line 238, in wrapper
     return self.admin_site.admin_view(view)(*args, **kwargs)
   File "/home/KEYPRO/jtiai/src/django-workspaces/netreg/django-
 trunk/django/utils/decorators.py", line 36, in __call__
     return self.decorator(self.func)(*args, **kwargs)
   File "/home/KEYPRO/jtiai/src/django-workspaces/netreg/django-
 trunk/django/utils/decorators.py", line 86, in _wrapped_view
     response = view_func(request, *args, **kwargs)
   File "/home/KEYPRO/jtiai/src/django-workspaces/netreg/django-
 trunk/django/utils/decorators.py", line 36, in __call__
     return self.decorator(self.func)(*args, **kwargs)
   File "/home/KEYPRO/jtiai/src/django-workspaces/netreg/django-
 trunk/django/views/decorators/cache.py", line 70, in _wrapped_view_func
     response = view_func(request, *args, **kwargs)
   File "/home/KEYPRO/jtiai/src/django-workspaces/netreg/django-
 trunk/django/contrib/admin/sites.py", line 190, in inner
     return view(request, *args, **kwargs)
   File "/home/KEYPRO/jtiai/src/django-workspaces/netreg/django-
 trunk/django/utils/decorators.py", line 86, in _wrapped_view
     response = view_func(request, *args, **kwargs)
   File "/home/KEYPRO/jtiai/src/django-workspaces/netreg/django-
 trunk/django/db/transaction.py", line 295, in _commit_on_success
     res = func(*args, **kw)
   File "/home/KEYPRO/jtiai/src/django-workspaces/netreg/django-
 trunk/django/contrib/admin/options.py", line 882, in change_view
     if all_valid(formsets) and form_validated:
   File "/home/KEYPRO/jtiai/src/django-workspaces/netreg/django-
 trunk/django/forms/formsets.py", line 317, in all_valid
     if not formset.is_valid():
   File "/home/KEYPRO/jtiai/src/django-workspaces/netreg/django-
 trunk/django/forms/formsets.py", line 238, in is_valid
     if bool(self.errors[i]):
   File "/home/KEYPRO/jtiai/src/django-workspaces/netreg/django-
 trunk/django/forms/formsets.py", line 212, in _get_errors
     self.full_clean()
   File "/home/KEYPRO/jtiai/src/django-workspaces/netreg/django-
 trunk/django/forms/formsets.py", line 254, in full_clean
     self.clean()
   File "/home/KEYPRO/jtiai/src/django-workspaces/netreg/django-
 trunk/django/forms/models.py", line 432, in clean
     self.validate_unique()
   File "/home/KEYPRO/jtiai/src/django-workspaces/netreg/django-
 trunk/django/forms/models.py", line 443, in validate_unique
     all_unique_checks = all_unique_checks.union(set(unique_checks))
 TypeError: unhashable type: 'list'

 >>> unique_checks
 [['ssp_category', 'email_type']]
 }}}

-- 
Ticket URL: <http://code.djangoproject.com/ticket/12647>
Django <http://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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.


Reply via email to