summaryrefslogtreecommitdiff
path: root/django/contrib/admin/widgets.py
diff options
context:
space:
mode:
Diffstat (limited to 'django/contrib/admin/widgets.py')
-rw-r--r--django/contrib/admin/widgets.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/django/contrib/admin/widgets.py b/django/contrib/admin/widgets.py
index 5960f82d91..39a906ed85 100644
--- a/django/contrib/admin/widgets.py
+++ b/django/contrib/admin/widgets.py
@@ -269,18 +269,20 @@ class RelatedFieldWidgetWrapper(forms.Widget):
current_app=self.admin_site.name, args=args)
def get_context(self, name, value, attrs=None):
- with self.widget.override_choices(self.choices):
- context = self.widget.get_context(name, value, attrs)
-
from django.contrib.admin.views.main import IS_POPUP_VAR, TO_FIELD_VAR
rel_opts = self.rel.model._meta
info = (rel_opts.app_label, rel_opts.model_name)
+ self.widget.choices = self.choices
url_params = '&'.join("%s=%s" % param for param in [
(TO_FIELD_VAR, self.rel.get_related_field().name),
(IS_POPUP_VAR, 1),
])
- context['url_params'] = url_params
- context['model'] = rel_opts.verbose_name
+ context = {
+ 'rendered_widget': self.widget.render(name, value, attrs),
+ 'name': name,
+ 'url_params': url_params,
+ 'model': rel_opts.verbose_name,
+ }
if self.can_change_related:
change_related_template_url = self.get_related_url(info, 'change', '__fk__')
context.update(