diff options
| author | Tim Graham <timograham@gmail.com> | 2017-01-27 12:46:21 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-01-27 12:46:21 -0500 |
| commit | e07e743e0c375b380748561d18b975c8211a4a01 (patch) | |
| tree | e1ecf45b049220ba66dfa10f05b814472e87b51c /django/forms/forms.py | |
| parent | d2e40dd8c2031cd03700e72d87d455d5e974800c (diff) | |
Refs #23919 -- Used DeclarativeFieldsMetaclass.__prepare__() for tracking form field order.
Diffstat (limited to 'django/forms/forms.py')
| -rw-r--r-- | django/forms/forms.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/django/forms/forms.py b/django/forms/forms.py index 7fccdc2b65..5770f6d609 100644 --- a/django/forms/forms.py +++ b/django/forms/forms.py @@ -34,7 +34,6 @@ class DeclarativeFieldsMetaclass(MediaDefiningClass): if isinstance(value, Field): current_fields.append((key, value)) attrs.pop(key) - current_fields.sort(key=lambda x: x[1].creation_counter) attrs['declared_fields'] = OrderedDict(current_fields) new_class = super(DeclarativeFieldsMetaclass, mcs).__new__(mcs, name, bases, attrs) @@ -56,6 +55,11 @@ class DeclarativeFieldsMetaclass(MediaDefiningClass): return new_class + @classmethod + def __prepare__(metacls, name, bases, **kwds): + # Remember the order in which form fields are defined. + return OrderedDict() + @html_safe class BaseForm: |
