在flask-sqlalchemy一对多关系中,在多的一方定义外键,关系可在任一方定义
class User(db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(10))
posts = db.relationship('Post', backref='author')
class Post(db.Model):
__tablename__ = 'classes'
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(40), nullable=False)
body = db.Column(db.Text)
author_id = db.Column(db.Integer, db.ForeignKey('users.id'))
# author = db.relationship('User', backref='posts')
或者
class User(db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(10))
# posts = db.relationship('Post', backref='author')
class Post(db.Model):
__tablename__ = 'classes'
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(40), nullable=False)
body = db.Column(db.Text)
author_id = db.Column(db.Integer, db.ForeignKey('users.id'))
author = db.relationship('User', backref='posts')
这两段代码运行的结果是相同的