mirror of https://github.com/django/django.git
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
This commit is contained in:
parent
ec8848dad5
commit
7e9a22aae7
|
@ -163,6 +163,7 @@ class ModelFormMetaclass(type):
|
||||||
except NameError:
|
except NameError:
|
||||||
# We are defining ModelForm itself.
|
# We are defining ModelForm itself.
|
||||||
parents = None
|
parents = None
|
||||||
|
declared_fields = get_declared_fields(bases, attrs, False)
|
||||||
new_class = super(ModelFormMetaclass, cls).__new__(cls, name, bases,
|
new_class = super(ModelFormMetaclass, cls).__new__(cls, name, bases,
|
||||||
attrs)
|
attrs)
|
||||||
if not parents:
|
if not parents:
|
||||||
|
@ -170,7 +171,6 @@ class ModelFormMetaclass(type):
|
||||||
|
|
||||||
if 'media' not in attrs:
|
if 'media' not in attrs:
|
||||||
new_class.media = media_property(new_class)
|
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))
|
opts = new_class._meta = ModelFormOptions(getattr(new_class, 'Meta', None))
|
||||||
if opts.model:
|
if opts.model:
|
||||||
# If a model is defined, extract form fields from it.
|
# If a model is defined, extract form fields from it.
|
||||||
|
|
Loading…
Reference in New Issue