Relación autorreferencial de muchos a muchos en la sqlalchemy

Estoy tratando de hacer una relación autorreferencial de muchos a muchos (significa que Line puede tener muchas líneas principales y muchas líneas secundarias) en sqlalchemy así:

Base = declarative_base()

class Association(Base):
 __tablename__ = 'association'

 prev_id = Column(Integer, ForeignKey('line.id'), primary_key=True)                            
 next_id = Column(Integer, ForeignKey('line.id'), primary_key=True)


class Line(Base):
 __tablename__ = 'line'

 id = Column(Integer, primary_key = True)
 text = Column(Text)
 condition = Column(Text)
 action = Column(Text)

 next_lines = relationship(Association, backref="prev_lines")



class Root(Base):
 __tablename__ = 'root'

 name = Column(String, primary_key = True)
 start_line_id = Column(Integer, ForeignKey('line.id'))

 start_line = relationship('Line')

Pero recibo el siguiente error: sqlalchemy.exc.ArgumentError: no se pudo determinar la condición de unión entre las tablas padre / hijo en la relación Line.next_lines. Especifique una expresión 'primaryjoin'. Si está presente "secundario", también se necesita "secundario".

¿Sabes cómo podría remediar esto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta