title: change __slots__ dynamically
body: <p>I'm working on a class that needs to be given it's <code>__dict__</code> attribute via <code>__init__</code> injection like this:</p>
  
  <pre><code>class Torrent(Model):
      def __init__(self, d):
          super(Torrent, self).__init__('torrents')
          self.__dict__ = d
  </code></pre>
  
  <p>And need to make sure not to change the structure of the object because the instance is going to end up in a NOSQL db. I thought that <code>__slots__</code> could be helpful, but I need to define it dynamically.</p>
  
  <p>Is there a way to make it possible without a metaclass ?</p>