summaryrefslogtreecommitdiff
path: root/django/views
diff options
context:
space:
mode:
authorLuke Plant <L.Plant.98@cantab.net>2013-02-21 21:56:55 +0000
committerLuke Plant <L.Plant.98@cantab.net>2013-05-09 16:44:36 +0100
commitf026a519aea8f3ea7ca339bfbbb007e1ee0068b0 (patch)
tree882e594178a78d507ede36c2c9b0b8d5a9305561 /django/views
parent1e37cb37cec330a6b78925e2ef5589817428d09a (diff)
Fixed #19733 - deprecated ModelForms without 'fields' or 'exclude', and added '__all__' shortcut
This also updates all dependent functionality, including modelform_factory and modelformset_factory, and the generic views `ModelFormMixin`, `CreateView` and `UpdateView` which gain a new `fields` attribute.
Diffstat (limited to 'django/views')
-rw-r--r--django/views/generic/edit.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/django/views/generic/edit.py b/django/views/generic/edit.py
index 5b97fc81c9..e2cc741ffb 100644
--- a/django/views/generic/edit.py
+++ b/django/views/generic/edit.py
@@ -1,3 +1,5 @@
+import warnings
+
from django.forms import models as model_forms
from django.core.exceptions import ImproperlyConfigured
from django.http import HttpResponseRedirect
@@ -95,7 +97,14 @@ class ModelFormMixin(FormMixin, SingleObjectMixin):
# Try to get a queryset and extract the model class
# from that
model = self.get_queryset().model
- return model_forms.modelform_factory(model)
+
+ fields = getattr(self, 'fields', None)
+ if fields is None:
+ warnings.warn("Using ModelFormMixin (base class of %s) without "
+ "the 'fields' attribute is deprecated." % self.__class__.__name__,
+ PendingDeprecationWarning)
+
+ return model_forms.modelform_factory(model, fields=fields)
def get_form_kwargs(self):
"""