diff options
| author | Brian Rosner <brosner@gmail.com> | 2008-03-05 04:09:35 +0000 |
|---|---|---|
| committer | Brian Rosner <brosner@gmail.com> | 2008-03-05 04:09:35 +0000 |
| commit | dac6f2d37b3b1447cd1aced0567be3b361551dfb (patch) | |
| tree | cb2a4d46fe59969f9f3b6eea503bc90dca169621 | |
| parent | fb3994bdfc296701ed156adbba9e898e17fa1c03 (diff) | |
newforms-admin: Fixed #6202 -- FilteredSelectMultiple is now wrapped with RelatedFieldWidgetWrapper to display the add button.
git-svn-id: http://code.djangoproject.com/svn/django/branches/newforms-admin@7195 bcc190cf-cafb-0310-a4f2-bffc1f526a37
| -rw-r--r-- | django/contrib/admin/options.py | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py index ab3291834d..ec32c897a5 100644 --- a/django/contrib/admin/options.py +++ b/django/contrib/admin/options.py @@ -145,11 +145,6 @@ class BaseModelAdmin(object): If kwargs are given, they're passed to the form Field's constructor. """ - # For ManyToManyFields with a filter interface, use a special widget. - if isinstance(db_field, models.ManyToManyField) and db_field.name in (self.filter_vertical + self.filter_horizontal): - kwargs['widget'] = widgets.FilteredSelectMultiple(db_field.verbose_name, (db_field.name in self.filter_vertical)) - return db_field.formfield(**kwargs) - # For DateTimeFields, use a special field and widget. if isinstance(db_field, models.DateTimeField): kwargs['form_class'] = forms.SplitDateTimeField @@ -176,9 +171,12 @@ class BaseModelAdmin(object): if isinstance(db_field, models.ForeignKey) and db_field.name in self.raw_id_fields: kwargs['widget'] = widgets.ForeignKeyRawIdWidget(db_field.rel) else: - if isinstance(db_field, models.ManyToManyField) and db_field.name in self.raw_id_fields: - kwargs['widget'] = widgets.ManyToManyRawIdWidget(db_field.rel) - kwargs['help_text'] = '' + if isinstance(db_field, models.ManyToManyField): + if db_field.name in self.raw_id_fields: + kwargs['widget'] = widgets.ManyToManyRawIdWidget(db_field.rel) + kwargs['help_text'] = '' + elif db_field.name in (self.filter_vertical + self.filter_horizontal): + kwargs['widget'] = widgets.FilteredSelectMultiple(db_field.verbose_name, (db_field.name in self.filter_vertical)) # Wrap the widget's render() method with a method that adds # extra HTML to the end of the rendered output. formfield = db_field.formfield(**kwargs) |
