docs: def _can_update(self):
          """
          Called by the save function to check if this should be
          persisted with update or insert
  
          :return:
          """
          if not self._is_persisted: return False
          pks = self._primary_keys.keys()
          return all([not self._values[k].changed for k in self._primary_keys])