diff options
Diffstat (limited to 'django/contrib/admin/widgets.py')
| -rw-r--r-- | django/contrib/admin/widgets.py | 12 |
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( |
