'``fields`` may be either a mapping or an iterable.
``field_labels`` must be a map of field names to display labels'

def __init__(self, *args, **kwargs):

    fields = kwargs.pop(u'fields', {})
    fields = self.normalize_fields(fields)
    field_labels = kwargs.pop(u'field_labels', {})
    self.param_map = {v: k for (k, v) in fields.items()}
    if (u'choices' not in kwargs):
        kwargs[u'choices'] = self.build_choices(fields, field_labels)
    kwargs.setdefault(u'label', _(u'Ordering'))
    kwargs.setdefault(u'help_text', u'')
    kwargs.setdefault(u'null_label', None)
    super(OrderingFilter, self).__init__(*args, **kwargs)
