@@ -430,10 +430,13 @@ def __init__(self, default_order_direction=None, default_order_field=None, **kwa
430430 self .default_order_direction = default_order_direction
431431 self .default_order_field = default_order_field
432432 if default_order_field :
433- if default_order_field not in self .form .base_fields :
434- self .form .base_fields [default_order_field ] = self .model ._meta .get_field (default_order_field ).formfield ()
433+ if default_order_field in self .form .base_fields :
434+ order_field = self .form .base_fields [default_order_field ]
435+ else :
436+ order_field = self .model ._meta .get_field (default_order_field ).formfield ()
437+ self .form .base_fields [default_order_field ] = order_field
438+ self .form .declared_fields [default_order_field ] = order_field
435439
436- order_field = self .form .base_fields [default_order_field ]
437440 order_field .is_hidden = True
438441 order_field .required = False
439442 order_field .widget = widgets .HiddenInput (attrs = {'class' : '_reorder_' })
@@ -487,6 +490,12 @@ def __init__(self, parent_model, admin_site):
487490 self .default_order_direction , self .default_order_field = _get_default_ordering (self .model , self )
488491 super ().__init__ (parent_model , admin_site )
489492
493+ def get_fields (self , * args , ** kwargs ):
494+ fields = super ().get_fields (* args , ** kwargs )
495+ if self .default_order_field not in fields :
496+ fields .append (self .default_order_field )
497+ return fields
498+
490499
491500class CustomGenericInlineFormSet (CustomInlineFormSetMixin , BaseGenericInlineFormSet ):
492501 def get_max_order (self ):
0 commit comments