Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Flask SQLAlchemy:通过一对多关系将父表中的列作为子模型属性获取_Python_Flask Sqlalchemy - Fatal编程技术网

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何时从数据库加载数据