I'm trying to do a record-based in-grid editing with a QAbstractTableModel-descendant class and a QTableView. When the editing is finished, the model recieves a signal to it's submit() or revert() slots. But there are no parameters, so the model does not know which record it needs to submit to (refresh from) a datastore. I've tried to setup my own change tracking inside model's setData()/removeRows()/insertRows() methods, but I do not think it's an optimal solution. What is the right way to do it?