Flask-SQLAlchemy 微坑之跨模块外键

在两个模块的数据库模型之间建立外键关系的需求是显而易见的吧,比如我把Author模型单独出来,Post模型在另一个模块里,怎样在这两个模型之间建立外键呢?

很简单的思路就是在Author上加一个posts = db.relationship('Post', backref='author', lazy='dynamic')吧,然后Post模型上加一个author_id = db.Column(db.Integer, db.ForeignKey('authors.id')),但是在./manage.py db migrate的时候一直报一个问题:

sqlalchemy.exc.NoReferencedTableError:
    Foreign key associated with column 'posts.author_id' could not find table 'authors' with which to generate a foreign key to target column 'id'

这是怎么回事呢……

因为我建立了author模块后,没有吧author.model.Authorimportmanage.py上……加上后就没有错误了噜~

Tags :