我最近刚使用flask和sql-alchemy进入web开发.一切都工作正常,直到我不得不使用外键访问值.我有这样的模特:
class User(db.Model):
_tablename='user'
id=db.Column(db.Integer, primary_key=True)
name=db.Column(db.String)
email=db.Column(db.String)
class Post(db.Model):
_tablename='post'
id=db.Column(db.Integer, primary_key=True)
title=db.Column(db.String)
user=db.Column(db.Integer, db.ForeignKey('user.id'))
Run Code Online (Sandbox Code Playgroud)
我想在网页上显示所有帖子的列表,在html文件中有这样的内容:
{% for entry in entries %}
<tr>
<td> {{ entry.id }} </td>
<td> {{ entry.title }} </td>
<td> {{ entry.user_name }} </td>
<td> {{ entry.user_email }} </td>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
但是,我不知道如何使用user.id外键从用户表访问用户和电子邮件.我试过了
posts = Post.query.all()
for post in posts:
post.user_name = User.query.filter_by(id=post.id).first()
return render_template('post.html', entries=posts)
Run Code Online (Sandbox Code Playgroud)
但是,然后不仅仅返回名称和电子邮件,如帖子中的标题,它返回的内容类似于(u'User A',)和(u'test@test.com',).我想不出任何其他方式.任何人都可以帮助我吗?
python sqlite foreign-key-relationship flask flask-sqlalchemy