python - 数据显示问题——flask、python sqlalchemy
问题描述
大家好,我有小问题,有两个模型 Person 和 Pet,我有两个人和 4 个宠物
我要显示的内容:
- 人和宠物的名字
- 在同一个视图中,在新视图中舔一个人的名字和一个宠物的列表之后,添加一个带有人 ID 的 href 我有什么 模型:
class Person(db.Model):
id = db.Column(db.Integer,primary_key = True)
name = db.Column(db.Text)
pets = db.relationship('Pet', backref='owner', lazy='joined')
def __init__(self,name):
self.name = name
class Pet(db.Model):
id = db.Column(db.Integer,primary_key= True)
name = db.Column(db.Text)
owner_id = db.Column(db.Integer,db.ForeignKey('person.id'))
def __init__(self,name,owner_id):
self.name = name
self.owner_id = owner_id
我目前的看法:
def list_item():
# Grab a list of puppies from database.
persons = Person.query.all()
return render_template('list.html', persons=persons)
到目前为止我有什么HTML:( list.html )
{% for person in persons %}
<li>{{ person.name }} - {{ person.pets }}</li>
{% endfor %}
输出:
• Person1 - [<Pet 3>, <Pet 4>, <Pet 1>]
• Person2 - [<Pet 2>]
我想对宠物打电话给人的名字等艺术作品进行处理。
谢谢!
解决方案
在您的 html 模板中是person.pets
一个Pet
对象列表。您可以使用附加for
循环对它们进行迭代以获取Pet
对象,然后获取它们的属性:
{% for person in persons %}
<li>
{{ person.name }} has the following pets:
<ul>
{% for pet in person.pets %}
<li> {{ pet.name }} </li>
{% endfor %}
</ul>
</li>
{% endfor %}
推荐阅读
- amazon-web-services - 如何通过角色链接来限制 IAM 角色以获得比其本身所允许的更高的权限?
- graph-theory - 在无向图中找到所有可能的简单路径是 NP hard/ NP complete
- fortran - Fortran IIFIX 未知符号
- c# - 如何在“Unity”中使用 Firebase 在某些日子重置游戏分数
- sql - 避免循环导致的数据库往返
- html - 如何使引导程序表现得像带有粘性标题的表格?
- rust - 为什么 MSVC 不安装或不被 Rust 识别?
- google-cloud-firestore - 将文档和子集合添加到集合 - firestore python
- r - 替换多列中的特殊字符并计算 R 中每年的 pct 变化
- c# - 在 WCF 中读取 Stream 并将其写入 Microsoft SQL Server 数据库表时设置缓冲区大小