code: def post(self, request, *args, **kwargs):
          
          query_dict = dict(self.request.POST.items())
          # row_index原值返回，在datagrid对应行显示结果 
          row_index = query_dict.pop('row_index')
          # 如果命令执行成功，并且没有返回值，则返回 "text+'成功'" 的提示
          text = query_dict.pop('text', None)
  
          app_label = query_dict.pop('app_label')
          model_name  = query_dict.pop('model_name')
          method  = query_dict.pop('method')
          pk = query_dict.pop('pk')
          model = get_model(app_label, model_name)
          object = model.objects.get(pk=pk)
  
          try:
              status = 0 # 0 success;  else fail
              func = getattr(object, method)
              # query_dict中的其它参数传递给调用的方法, 所有参数都是字符串
              print query_dict
              return_value = func(**query_dict)
              message = return_value
          except Exception, error_message:
              # ajax 处理失败
              status = 1  # 1 means fail
              message = unicode(error_message)
  
          # 如果命令执行成功，并且没有返回值，则返回 "text+'成功'" 的提示
          if not message:
              message = text+'成功'
  
          return self.render_to_json_response({'status':status, 'message':message, 'row_index':row_index})
docs: Handles POST requests only
          argument:
              row_index HTML中第几行的标记，原值返回
              app_label
              model_name
              pk   app_label + model_name + pk 可以获取一个object
              method  object + method 得到要调用的方法 
              其它参数，html和method中同时定义, 在上面的方法中使用