我刚刚开始了一个 Flask - SqlAlchemy 项目,并且在使用外键时遇到了一些问题。
我有表 User 和 Portfolio。投资组合有一个用户的外键,使用用户名。我这样设置我的模型。
class User(db.Model):
__tablename__ = 'portfolio_users'
__table_args__ = {"schema":"keldan"}
username = Column(String(), primary_key=True)
date_added = Column(DateTime())
class Portfolio(db.Model):
__tablename__ = 'portfolios'
__table_args__ = {"schema":"keldan"}
id = Column('pid', Integer(), Sequence('portfolios_pid_seq'), primary_key=True)
date_added = Column(DateTime())
name = Column(String())
username = Column(String(), ForeignKey('portfolio_users.username'))
user = relationship('User', backref=backref('portfolios', cascade='save-update, merge, delete, delete-orphan'))
Run Code Online (Sandbox Code Playgroud)
当我尝试运行一个简单的全选查询时出现的错误是:
sqlalchemy.exc.NoReferencedTableError: Foreign key associated with column 'portfolios.username' could not find table 'portfolio_users' with which to generate a foreign key to target column 'username' …Run Code Online (Sandbox Code Playgroud)