def inline_edit_handle(self, request, table_name, action_name, obj_id,
                           new_row):
        try:
            cell_name = request.GET['cell_name']
            datum = new_row.get_data(request, obj_id)
            # TODO(lsmola) extract load cell logic to Cell and load
            # only 1 cell. This is kind of ugly.
            if request.GET.get('inline_edit_mod') == "true":
                new_row.table.columns[cell_name].auto = "form_field"
                inline_edit_mod = True
            else:
                inline_edit_mod = False

            # Load the cell and set the inline_edit_mod.
            new_row.load_cells(datum)
            cell = new_row.cells[cell_name]
            cell.inline_edit_mod = inline_edit_mod

            # If not allowed, neither edit mod or updating is allowed.
            if not cell.update_allowed:
                datum_display = (self.get_object_display(datum) or
                                 _("N/A"))
                LOG.info('Permission denied to %s: "%s"' %
                         ("Update Action", datum_display))
                return HttpResponse(status=401)
            # If it is post request, we are updating the cell.
            if request.method == "POST":
                return self.inline_update_action(request,
                                                 datum,
                                                 cell,
                                                 obj_id,
                                                 cell_name)

            error = False
        except Exception:
            datum = None
            error = exceptions.handle(request, ignore=True)
        if request.is_ajax():
            if not error:
                return HttpResponse(cell.render())
            else:
                return HttpResponse(status=error.status_code)
Inline edit handler.
dataset/ETHPy150Open CiscoSystems/avos/horizon/tables/base.py/DataTable.inline_edit_handle