Make a column "immutable" in SQLAlchemy
<p>I want to make a column "immutable" or "unupdateable" in SQLAlchemy.</p>

<p>Right now I am using an event listener that raises an exception if that column is updated:</p>

<pre><code>@event.listens_for(Person.email, 'set')
def receive_set_person_email(target, value, old_value, initiator):
    if old_value != symbol('NEVER_SET') and old_value != symbol('NO_VALUE'):
        raise AttributeError("Cannot change a Person's email")
</code></pre>

<p>But I wonder if something like this is already built-in, or if I could get to a prettier and more generic solution.</p>