summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2015-12-24 10:25:59 -0500
committerTim Graham <timograham@gmail.com>2015-12-29 12:49:14 -0500
commitdbb0df2a0ec5bee80bee336fc81408efb30b7e47 (patch)
treeb01db970481415e3fdc0789d95252ff7d0a673ac /django
parent300de968d680eea10daa00132f60b7db47abfe1d (diff)
Fixed #25985 -- Updated signature of ModelAdmin.formfield_for_* to make request a positional argument.
Diffstat (limited to 'django')
-rw-r--r--django/contrib/admin/options.py10
-rw-r--r--django/contrib/gis/admin/options.py5
2 files changed, 6 insertions, 9 deletions
diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py
index 42880aba81..d30fe83756 100644
--- a/django/contrib/admin/options.py
+++ b/django/contrib/admin/options.py
@@ -119,15 +119,13 @@ class BaseModelAdmin(six.with_metaclass(forms.MediaDefiningClass)):
overrides.update(self.formfield_overrides)
self.formfield_overrides = overrides
- def formfield_for_dbfield(self, db_field, **kwargs):
+ def formfield_for_dbfield(self, db_field, request, **kwargs):
"""
Hook for specifying the form Field instance for a given database Field
instance.
If kwargs are given, they're passed to the form Field's constructor.
"""
- request = kwargs.pop("request", None)
-
# If the field specifies choices, we don't need to look for special
# admin widgets - we just need to use a select widget of some kind.
if db_field.choices:
@@ -177,7 +175,7 @@ class BaseModelAdmin(six.with_metaclass(forms.MediaDefiningClass)):
# For any other type of field, just call its formfield() method.
return db_field.formfield(**kwargs)
- def formfield_for_choice_field(self, db_field, request=None, **kwargs):
+ def formfield_for_choice_field(self, db_field, request, **kwargs):
"""
Get a form Field for a database Field that has declared choices.
"""
@@ -208,7 +206,7 @@ class BaseModelAdmin(six.with_metaclass(forms.MediaDefiningClass)):
return db_field.remote_field.model._default_manager.using(db).order_by(*ordering)
return None
- def formfield_for_foreignkey(self, db_field, request=None, **kwargs):
+ def formfield_for_foreignkey(self, db_field, request, **kwargs):
"""
Get a form Field for a ForeignKey.
"""
@@ -229,7 +227,7 @@ class BaseModelAdmin(six.with_metaclass(forms.MediaDefiningClass)):
return db_field.formfield(**kwargs)
- def formfield_for_manytomany(self, db_field, request=None, **kwargs):
+ def formfield_for_manytomany(self, db_field, request, **kwargs):
"""
Get a form Field for a ManyToManyField.
"""
diff --git a/django/contrib/gis/admin/options.py b/django/contrib/gis/admin/options.py
index ed983a1337..0fe5400c1d 100644
--- a/django/contrib/gis/admin/options.py
+++ b/django/contrib/gis/admin/options.py
@@ -52,19 +52,18 @@ class GeoModelAdmin(ModelAdmin):
media.add_js(self.extra_js)
return media
- def formfield_for_dbfield(self, db_field, **kwargs):
+ def formfield_for_dbfield(self, db_field, request, **kwargs):
"""
Overloaded from ModelAdmin so that an OpenLayersWidget is used
for viewing/editing 2D GeometryFields (OpenLayers 2 does not support
3D editing).
"""
if isinstance(db_field, models.GeometryField) and db_field.dim < 3:
- kwargs.pop('request', None)
# Setting the widget with the newly defined widget.
kwargs['widget'] = self.get_map_widget(db_field)
return db_field.formfield(**kwargs)
else:
- return super(GeoModelAdmin, self).formfield_for_dbfield(db_field, **kwargs)
+ return super(GeoModelAdmin, self).formfield_for_dbfield(db_field, request, **kwargs)
def get_map_widget(self, db_field):
"""