I'm trying to create a simple model base
class Model:
    _fields = {}
    def __init__(self, **props):
        import pdb; pdb.set_trace()
        for key, value in props.items():
            if key in self._fields:
                setattr(self, key, value)
    def __setattr__(self, name, value):
        if name not in self._fields:
            return
        setattr(self, name, value)
However, when I set a value that is in my _fields list, it ends up in an infinite loop (setattr calling __setattr__). I can't figure out how I can set a value like this.
 
    