Python Flask SQLAlchemy:通过一对多关系将父表中的列作为子模型属性获取
我举了一个关于炼金术中一对多关系的例子:Python Flask SQLAlchemy:通过一对多关系将父表中的列作为子模型属性获取,python,flask-sqlalchemy,Python,Flask Sqlalchemy,我举了一个关于炼金术中一对多关系的例子: 类用户(db.Model): id=db.Column(db.Integer,主键=True) name=db.Column(db.String(80)) email=db.Column(db.String(120),unique=True) posts=db.relationship('Post',backref='user') 班级职位(db.Model): id=db.Column(db.Integer,主键=True) content=db.Co
类用户(db.Model):
id=db.Column(db.Integer,主键=True)
name=db.Column(db.String(80))
email=db.Column(db.String(120),unique=True)
posts=db.relationship('Post',backref='user')
班级职位(db.Model):
id=db.Column(db.Integer,主键=True)
content=db.Column(db.Text)
user\u id=db.Column(db.Integer,db.ForeignKey('user.id'))
根据,我可以通过
U.posts
获得User U
的帖子列表。但相对而言,我如何获得Post p
的作者姓名作为属性,例如p.author\U name
,而不是p.User.name
?尝试p.User
,根据您在backref中定义的p>我可以修改 发布人
分类:
class Post(db.Model):
id=db.Column(db.Integer,主键=True)
content=db.Column(db.Text)
user\u id=db.Column(db.Integer,db.ForeignKey('user.id'))
@缓存的不动产
def作者姓名(自我):
返回self.user.name
然后,它会将p.author\u name
视为p.user.name正是我想要访问p.user.name
,但是通过Post
模型的属性,比如p.author\u name
来实现这一点,也许我没有清楚地表达我想要的东西,但是调用p.author\u name
而不是p.user.name user
是Post
model属性:那么backref和lazy是什么意思呢?backref是一种在Address类上声明新属性的简单方法。然后,您还可以使用my_Address.person访问该地址的人。lazy定义SQLAlchemy何时从数据库加载数据