我最近才开始使用烧瓶和 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'))
我想在网页上显示所有帖子的列表,在 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 %}
但是,我不确定如何使用 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)
但是,它不是只返回姓名和电子邮件,如帖子中的标题,而是返回类似 (u'User A',) 和 (u'test@test.com',) 之类的东西。而且我想不出其他办法。有人可以帮我吗?