title: method of iterating over sqlalchemy model's defined columns?
body: <p>I've been trying to figure out how to iterate over the list of columns defined in a SQLAlchemy model. I want it for writing some serialization and copy methods to a couple of models. I can't just iterate over the <code>obj.__dict__</code> since it contains a lot of SA specific items. </p>
  
  <p>Anyone know of a way to just get the <code>id</code> and <code>desc</code> names from the following?</p>
  
  <pre><code>class JobStatus(Base):
      __tablename__ = 'jobstatus'
  
      id = Column(Integer, primary_key=True)
      desc = Column(Unicode(20))
  </code></pre>
  
  <p>In this small case I could easily create a:</p>
  
  <pre><code>def logme(self):
      return {'id': self.id, 'desc': self.desc}
  </code></pre>
  
  <p>but I'd prefer something that auto-generates the <code>dict</code> (for larger objects).</p>