code: def get_order_columns_list(self, list_columns=None):
          
          ret_lst = list()
          list_columns = list_columns or self.get_columns_list()
          for col_name in list_columns:
              if hasattr(self.obj, col_name):
                  if not hasattr(getattr(self.obj, col_name), "__call__"):
                      ret_lst.append(col_name)
              else:
                  ret_lst.append(col_name)
          return ret_lst
docs: Returns the columns that can be ordered
  
              :param list_columns: optional list of columns name, if provided will
                  use this list only.