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.Author
给import
到manage.py
上……加上后就没有错误了噜~