SQLAlchemy circular relación uno a uno

Estoy tratando de hacer una relación circular de uno a uno (no estoy seguro de cuál es el término correcto) con SQLAlchemy que se ve de la siguiente manera:

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])

Todo funciona como se espera hasta que intentodb.drop_all() y me sale un error que elsqlalchemy.sql.schema.ForeignKeyConstraint name esNone. ¿Estoy haciendo algo mal cuando trato de hacer esta relación circular de uno a uno? Realmente me gustaría poder consultar solo una columna para obtener la identificación de la otra, de ahí la referencia circular.

Respuestas a la pregunta(1)

Su respuesta a la pregunta