SQLAlchemy relação circular um-para-um
Estou tentando fazer um relacionamento um para um circular (não tenho certeza qual é o termo correto) com SQLAlchemy com a seguinte aparência:
class Parent(Base):
__tablename__ = 'parents'
id = db.Column(Integer, primary_key=True)
child_id = db.Column(db.Integer,db.ForeignKey("children.id", use_alter=True))
child = db.relationship("Child",
uselist=False,
foreign_keys=[child_id],
post_update=True)
class Child(Base):
__tablename__ = 'children'
id = db.Column(db.Integer, primary_key=True)
parent_id = db.Column(db.Integer, db.ForeignKey("parents.id"))
user = db.relationship("Parent",
uselist=False,
foreign_keys=[parent_id])
Tudo funciona como esperado até eu tentardb.drop_all()
e recebo um erro que osqlalchemy.sql.schema.ForeignKeyConstraint
name
éNone
. Estou fazendo algo errado ao tentar fazer esse relacionamento circular um para um? Eu realmente gostaria de poder consultar apenas uma coluna para obter o ID da outra, daí a referência circular.