When writing tests for the above I discovered that this is not the issue. Specifically, OVO doesn't check the previous value when setting an attribute, so when we do:
instance.task_state = SHELVING
this always makes the object dirty, regardless of the previous value of task_state. Therefore in the above case we always hit the DB, and this isn't the problem.
When writing tests for the above I discovered that this is not the issue. Specifically, OVO doesn't check the previous value when setting an attribute, so when we do:
instance. task_state = SHELVING
this always makes the object dirty, regardless of the previous value of task_state. Therefore in the above case we always hit the DB, and this isn't the problem.