Crie muitos para muitos em uma tabela

Flask-SQLAlchemy dá umaexemplo de como criar um relacionamento muitos para muitos. Isso é feito entre duas tabelas diferentes.

É possível criar um relacionamento muitos para muitos na mesma tabela? Por exemplo, uma irmã pode ter muitas irmãs, que também teriam muitas irmãs. Eu tentei:

girl_sister_map = db.Table('girl_sister_map',
                      db.Column('girl_id', 
                                db.Integer, 
                                db.ForeignKey('girl.id')),
                      db.Column('sister_id', 
                                db.Integer, 
                                db.ForeignKey('girl.id')))

class Girl(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String)
    sisters = db.relationship('Girl',
                              secondary=girl_sister_map,
                              backref=db.backref('othersisters', lazy='dynamic'))

Mas quando eu tento adicionar uma irmã a uma garota eu recebo:

sqlalchemy.exc.AmbiguousForeignKeysError: Não foi possível determinar a condição de junção entre as tabelas pai / filho no relacionamento Girl.sisters - existem vários caminhos de chave estrangeira ligando as tabelas via tabela secundária 'girl_sister_map'. Especifique o argumento 'foreign_keys', fornecendo uma lista dessas colunas que devem ser contadas como contendo uma referência de chave estrangeira da tabela secundária para cada uma das tabelas pai e filho.

Isso é possível? Como devo estar fazendo isso?

questionAnswers(1)

yourAnswerToTheQuestion