【发布时间】:2018-01-18 11:59:57
【问题描述】:
我正在尝试从相关的数据库表中访问数据并在前端的某些表中显示该数据,但很难做到这一点。这是我目前拥有的(简化为重要代码)。
数据库模型:
class Client(Base):
__tablename__ = 'Client'
id = db.Column(db.Integer, primary_key=True)
clientname = db.Column(db.String(50), unique=True, nullable=False)
provider = db.Column(db.Boolean, default=False)
sessions = db.relationship('Session', backref='client')
contacts = db.relationship('Contact', backref='client')
region_id = db.Column(db.Integer, db.ForeignKey('Region.region_name'),
nullable=False)
class Contact(Base):
__tablename__ = 'Contact'
id = db.Column(db.Integer, primary_key=True)
contact_name = db.Column(db.String(50), nullable=False)
contact_phone = db.Column(db.String(50), nullable=False)
contact_email = db.Column(db.String(50), nullable=False)
client_id = db.Column(db.Integer, db.ForeignKey('Client.clientname'),
nullable=False)
然后是我的包含 Jinja 模板的表格:
<tbody>
{% for item in client_details %}
<tr>
<td>{{ item.clientname }}</td>
<td>{{ item.contacts.contact_name }}</td>
</tr>
{% endfor %}
</tbody>
我传递给我的 render_template 的查询:
session_details = Session.query.all()
return render_template('tables.session.html', session_details=session_details, passing_alert=passing_alert)
但我无法访问 Contact.contact_name。谁能指出我正确的方向?
【问题讨论】:
-
contacts属性Client是Contact对象的集合。您必须以一种或另一种方式在模板中对其进行迭代。您的查询似乎与示例的其余部分无关。
标签: python sqlalchemy jinja2