Opened 17 years ago
Last modified 17 years ago
#6369 closed
ModelForm fields ordering when Meta.fields is set — at Initial Version
Reported by: | Owned by: | nobody | |
---|---|---|---|
Component: | Forms | Version: | dev |
Severity: | Keywords: | ||
Cc: | Triage Stage: | Accepted | |
Has patch: | yes | Needs documentation: | yes |
Needs tests: | yes | Patch needs improvement: | yes |
Easy pickings: | no | UI/UX: | no |
Description
Field ordering is currently determined by the order the fields were originally defined in the model. However, if the user specifically defines the fields to use in Meta.fields, it's safe to assume that's the order the user wants the fields to be outputted in.
Right now, this is accomplished with:
class myForm(forms.ModelForm): def __init__(self, *args, **kwargs): super(myForm, self).__init__(*args, **kwargs) self.fields.keyOrder = self.Meta.fields #This line should be unnecessary class Meta: model = myModel fields = ['field_3', 'field_2', 'field_9']
The new version would just be:
class myForm(forms.ModelForm): class Meta: model = myModel fields = ['field_3', 'field_2', 'field_9']
Note:
See TracTickets
for help on using tickets.