我有一个模型文件(简化版)
repo 只有一个用户,一个用户可以有多个 repo 。
class Repo(Base):
__tablename__ = "repos"
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(512), unique=True)
user_id = Column(Integer, ForeignKey('users.id'))
user = db.relationship("User", back_populates="users")
class User(Base):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(200), unique=True)
repos = db.relationship("User", back_populates="repos")
当我尝试插入记录时出现错误:
One or more mappers failed to initialize - can't proceed with initialization of other mappers. Original exception was: Mapper 'Mapper|User|users' has no property 'users'
如何修复我的模型?
最佳答案
back_populates
对于 user
关系应该是 repos
,对于 repos
关系应该是 user
class Repo(Base):
__tablename__ = "repos"
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(512), unique=True)
user_id = Column(Integer, ForeignKey('users.id'))
user = db.relationship("User", back_populates="repos")
class User(Base):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(200), unique=True)
repos = db.relationship("Repo", back_populates="user")
关于python - 由于一个或多个映射器初始化失败,无法在 SQLAlchemy 中创建记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34720736/