def __setattr__(self, attr, value):
        try:
            if super(AuxAttr, self).__getattribute__(attr):
                return super(AuxAttr, self).__setattr__(attr, value)
        except AttributeError:
            pass
        try:
            kv = self.KVClass.objects.get(**{'key': attr, 'obj':
                                             self.obj})
        except __HOLE__:
            kv = self.KVClass(**{'key': attr, 'obj': self.obj})
        kv.value = value
        kv.clean()
        kv.save()
        self.cache[attr] = value
        return
dataset/ETHPy150Open mozilla/inventory/core/keyvalue/utils.py/AuxAttr.__setattr__