Author: jacob
Date: 2008-08-29 11:13:17 -0500 (Fri, 29 Aug 2008)
New Revision: 8700

Modified:
   django/trunk/django/contrib/admin/views/main.py
   django/trunk/django/contrib/admin/widgets.py
Log:
Fixed #7881: Support `__in` lookups in `limit_choices_to` and `raw_id_admin`. 
Thanks, jamesturk.

Modified: django/trunk/django/contrib/admin/views/main.py
===================================================================
--- django/trunk/django/contrib/admin/views/main.py     2008-08-29 16:09:29 UTC 
(rev 8699)
+++ django/trunk/django/contrib/admin/views/main.py     2008-08-29 16:13:17 UTC 
(rev 8700)
@@ -179,6 +179,10 @@
                 del lookup_params[key]
                 lookup_params[smart_str(key)] = value
 
+            # if key ends with __in, split parameter into separate values
+            if key.endswith('__in'):
+                lookup_params[key] = value.split(',')
+
         # Apply lookup parameters from the query string.
         qs = qs.filter(**lookup_params)
 

Modified: django/trunk/django/contrib/admin/widgets.py
===================================================================
--- django/trunk/django/contrib/admin/widgets.py        2008-08-29 16:09:29 UTC 
(rev 8699)
+++ django/trunk/django/contrib/admin/widgets.py        2008-08-29 16:13:17 UTC 
(rev 8700)
@@ -102,7 +102,7 @@
     def render(self, name, value, attrs=None):
         related_url = '../../../%s/%s/' % (self.rel.to._meta.app_label, 
self.rel.to._meta.object_name.lower())
         if self.rel.limit_choices_to:
-            url = '?' + '&'.join(['%s=%s' % (k, v) for k, v in 
self.rel.limit_choices_to.items()])
+            url = '?' + '&'.join(['%s=%s' % (k, ','.join(v)) for k, v in 
self.rel.limit_choices_to.items()])
         else:
             url = ''
         if not attrs.has_key('class'):


--~--~---------~--~----~------------~-------~--~----~
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