鉴于这种多对多的关系:
tagmap = db.Table('tagmap', db.Model.metadata,
db.Column('post_id', db.Integer, db.ForeignKey('posts.id'),
db.Column('tag_id', db.Integer, db.ForeignKey('tags.id'),)
class Post(db.Model):
__tablename__ = 'posts'
id = db.Column(db.Integer, primary_key=True)
text = db.Column(db.Text)
tags = db.relationship('Tag', secondary=tagmap, backref='posts')
class Tag(db.Model):
__tablename__ = 'tags'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String)
Run Code Online (Sandbox Code Playgroud)
您将如何构造查询以选择所有帖子,包括可关联的Tag对象的可迭代列表?
期望的查询结果结构:
[ <Post 1, "Blah", [<Tag "Goober">, <Tag "Mexico">]>,
<Post 2, "Daft Punk", [<Tag "French">]>,
<Post 3, "Slurpee", [<Tag "Diabetes">, <Tag "Tasty">, <Tag "Sugary">]>,
<Post 4, "Lasers", []> ]
Run Code Online (Sandbox Code Playgroud)
Jinja模板中所需的结果使用示例:
{% for post in posts %}
{{ post.text }} …
Run Code Online (Sandbox Code Playgroud) 如http://html5boilerplate.com/中的代码所示(ctrl + f"?v = 1")是什么?v = 1完全正确吗?它被添加到外部css和js urls.