'Returns changed fields excluding update time and revision.'

def _get_changed_fields(self, old, new):

    new = new.to_dict()
    changed = set(new)
    if old:
        for (k, v) in old.to_dict().items():
            if (v == new.get(k)):
                changed.discard(k)
    for ignore in ('revision_number', 'updated_at'):
        changed.discard(ignore)
    return changed
