Thanks to M4rtini I could implement the right function. For anyone strugling with it. Here's the code.
self.tableView = QtGui.TableView(self)
self.table_model = QtGui.QStandardItemModel(0, 0)
self.proxyModel = CustomSortingModel(self)
self.proxyModel.setSourceModel(self.table_model)
self.tableView.setModel(self.proxyModel)
class CustomSortingModel(QtGui.QSortFilterProxyModel):
def lessThan(self,left,right):
col = left.column()
dataleft = left.data()
dataright = right.data()
if col == 2:
dataleft = float(dataleft)
dataright = float(dataright)
elif col == 3:
dataleft = QtCore.QDate.fromString(dataleft, "d/M/yy").addYears(100)
dataright = QtCore.QDate.fromString(dataright, "d/M/yy").addYears(100)
return dataleft < dataright