小编Fla*_*ati的帖子

使用 SqlAlchemy 和 PostgreSQL 找不到外键

我刚刚开始了一个 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)

postgresql flask-sqlalchemy python-3.6

2
推荐指数
1
解决办法
1955
查看次数

标签 统计

flask-sqlalchemy ×1

postgresql ×1

python-3.6 ×1