3
我試圖與SQLAlchemy的一個圓形的一對一關係(不知道正確的說法是什麼),看起來如下:SQLAlchemy的圓形的一對一關係
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])
一切正常預計,直到我嘗試db.drop_all()
,我得到一個錯誤,sqlalchemy.sql.schema.ForeignKeyConstraint
name
是None
。試圖製作這種循環的一對一關係時,我做錯了什麼?我真的希望能夠查詢只有一列獲得另一列的ID,因此是循環引用。
複數表名應爲非法:d –
你試過'孩子= db.relationship (「Child」,cascade =「all,delete」)'? –
添加一個完整的回溯到您的文章。 – RazerM