From 7e9a22aae7a363a60d6aa2a27a06b1fd01d6ac13 Mon Sep 17 00:00:00 2001 From: Malcolm Tredinnick Date: Wed, 27 Aug 2008 08:05:59 +0000 Subject: [PATCH] Fixed #7289 -- Made ModelForms behave like Forms in the sense that Field objects don't appear as attributes on the final form instance. They continue to appear as elements of the form_instance.fields mapping. If you were relying on ModelForms having fields as attributes, then this will be slightly backwards incompatible. However, normal template usage will see no change at all. Patch from Daniel Pope. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8618 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/forms/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/django/forms/models.py b/django/forms/models.py index 677556d91b..cca5cae92c 100644 --- a/django/forms/models.py +++ b/django/forms/models.py @@ -163,6 +163,7 @@ class ModelFormMetaclass(type): except NameError: # We are defining ModelForm itself. parents = None + declared_fields = get_declared_fields(bases, attrs, False) new_class = super(ModelFormMetaclass, cls).__new__(cls, name, bases, attrs) if not parents: @@ -170,7 +171,6 @@ class ModelFormMetaclass(type): if 'media' not in attrs: new_class.media = media_property(new_class) - declared_fields = get_declared_fields(bases, attrs, False) opts = new_class._meta = ModelFormOptions(getattr(new_class, 'Meta', None)) if opts.model: # If a model is defined, extract form fields from it.