code: def get_ordering(self, request, queryset):
          
          params = self.params
          ordering = list(self.get_default_ordering(request))
          if ORDER_VAR in params:
              # Clear ordering and used params
              ordering = []
              order_params = params[ORDER_VAR].split('.')
              for p in order_params:
                  try:
                      none, pfx, idx = p.rpartition('-')
                      field_name = self.list_display[int(idx)]
                      order_field = self.get_ordering_field(field_name)
                      if not order_field:
                          continue  # No 'admin_order_field', skip it
                      # reverse order if order_field has already "-" as prefix
                      if order_field.startswith('-') and pfx == "-":
                          ordering.append(order_field[1:])
                      else:
                          ordering.append(pfx + order_field)
                  except (IndexError, ValueError):
                      continue  # Invalid ordering specified, skip it.
  
          # Add the given query's ordering fields, if any.
          ordering.extend(queryset.query.order_by)
  
          # Ensure that the primary key is systematically present in the list of
          # ordering fields so we can guarantee a deterministic order across all
          # database backends.
          pk_name = self.opts.pk.name
          if not (set(ordering) & {'pk', '-pk', pk_name, '-' + pk_name}):
              # The two sets do not intersect, meaning the pk isn't present. So
              # we add it.
              ordering.append('-pk')
  
          return ordering
docs: Returns the list of ordering fields for the change list.
          First we check the get_ordering() method in model admin, then we check
          the object's default ordering. Then, any manually-specified ordering
          from the query string overrides anything. Finally, a deterministic
          order is guaranteed by ensuring the primary key is used as the last
          ordering field.