summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Rosner <brosner@gmail.com>2008-09-02 18:57:10 +0000
committerBrian Rosner <brosner@gmail.com>2008-09-02 18:57:10 +0000
commit577640bd04117573805d8b9ffa4670b999714db4 (patch)
treedb43b7efc56fa6f9bcfcf0261a8e254fe0efc43e
parent58e3ef76dbe3eaa4df8416f3516c9e7dc9a1c5ff (diff)
Fixed #8805 -- Make sure proper type coercion happens before dumping data into join for limit_choices_to when building the URL parameters for the ForeignKeyRawIdWidget popup.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8867 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/contrib/admin/widgets.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/django/contrib/admin/widgets.py b/django/contrib/admin/widgets.py
index 32472cc7d8..bad4702d92 100644
--- a/django/contrib/admin/widgets.py
+++ b/django/contrib/admin/widgets.py
@@ -126,7 +126,14 @@ class ForeignKeyRawIdWidget(forms.TextInput):
def base_url_parameters(self):
params = {}
if self.rel.limit_choices_to:
- params.update(dict([(k, ','.join(v)) for k, v in self.rel.limit_choices_to.items()]))
+ items = []
+ for k, v in self.rel.limit_choices_to.items():
+ if isinstance(v, list):
+ v = [str(x) for x in v]
+ else:
+ v = str(v)
+ items.append((k, ','.join(v)))
+ params.update(dict(items))
return params
def url_parameters(self):