diff --git a/src/Field.php b/src/Field.php
index <HASH>..<HASH> 100644
--- a/src/Field.php
+++ b/src/Field.php
@@ -55,6 +55,13 @@ class Field
     public $editable = true;
 
     /**
+     * Setting this to true will never actually store
+     * the field in the database. It will action as normal,
+     * but will be skipped by update/insert.
+     */
+    public $never_persist = false;
+
+    /**
      * Constructor. You can pass field properties as array.
      *
      * @param array $defaults
diff --git a/src/Persistence_SQL.php b/src/Persistence_SQL.php
index <HASH>..<HASH> 100644
--- a/src/Persistence_SQL.php
+++ b/src/Persistence_SQL.php
@@ -571,7 +571,7 @@ class Persistence_SQL extends Persistence
         // apply all fields we got from get
         foreach ($data as $field => $value) {
             $f = $m->getElement($field);
-            if (!$f->editable) {
+            if (!$f->editable || $f->never_persist) {
                 continue;
             }
             $insert->set($f->actual ?: $f->short_name, $value);
@@ -649,6 +649,9 @@ class Persistence_SQL extends Persistence
         $cnt = 0;
         foreach ($data as $field => $value) {
             $f = $m->getElement($field);
+            if ($f->never_persist) {
+                continue;
+            }
             $update->set($f->actual ?: $f->short_name, $value);
             $cnt++;
         }
First we need ability to avoid field persistence

If model is saving field and join is saving on top, we get problem.