def __setattr__(self, name, value):
        # build where clause
        if getKeyColumn(self.__class__, name):
            raise DBError("cannot assign value <%s> to key column attribute <%s> of RowObject class" % (value,name))

        if name in self.rowColumns:
            if value != self.__dict__.get(name,None) and not self.dirty:
                self.setDirty(1)

        self.__dict__[name] = value
Special setattr to prevent changing of key values.
dataset/ETHPy150Open kuri65536/python-for-android/python-modules/twisted/twisted/enterprise/row.py/RowObject.__setattr__