title: SQLAlchemy: Many-to-Many dynamic loading on both sides
body: <p>Let's say I have the following:</p>
  
  <pre><code>association_table = Table('things_stuffs', Base.metadata,
      autoload=True,
      extend_existing=True)
  
  class Thing(Base):
      __tablename__ = 'things'
      __table_args__ = {'autoload': True}
  
  class Stuff(Base):
      __tablename__ = 'stuffs'
      __table_args__ = (
          {'autoload': True}
          )
      things = relationship(Thing,
                  secondary=association_table,
                  backref=backref("stuffs", uselist=False, lazy='dynamic'))
  </code></pre>
  
  <p>Now, if I want to get all the things from a Stuff instance I can do:</p>
  
  <pre><code>a_stuff_instance.things.filter().all()
  </code></pre>
  
  <p>And query it because of the <code>lazy="dynamic"</code> part. But the other side doesn't work. If I want to do</p>
  
  <pre><code>a_thing_instance.stuffs.filter().all()
  </code></pre>
  
  <p>I get <code>AttributeError: 'InstrumentedList' object has no attribute 'filter'</code>. What should I do?</p>