【发布时间】:2020-08-26 06:33:32
【问题描述】:
我正在寻找连接 3 个表并在前端使用 Flask-SqlAlchemy 选择特定列以显示 3 个表中的所有详细信息。
这是模型:
class Venue(db.Model):
__tablename__ = 'Venue'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String)
city = db.Column(db.String(120))
state = db.Column(db.String(120))
address = db.Column(db.String(120))
phone = db.Column(db.String(120))
image_link = db.Column(db.String(500))
facebook_link = db.Column(db.String(120))
website_link = db.Column(db.String(120))
seeking_talent = db.Column(db.Boolean,default=False)
genres = db.Column(db.ARRAY(db.String(120)))
upcoming_shows = db.relationship("Upcoming_shows")
past_shows = db.relationship("Past_shows")
class Artist(db.Model):
__tablename__ = 'Artist'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String)
city = db.Column(db.String(120))
state = db.Column(db.String(120))
phone = db.Column(db.String(120))
image_link = db.Column(db.String(500))
facebook_link = db.Column(db.String(120))
website_link = db.Column(db.String(120))
seeking_talent = db.Column(db.Boolean,default=False)
genres = db.Column(db.ARRAY(db.String(120)))
upcoming_shows = db.relationship("Upcoming_shows")
past_shows = db.relationship("Past_shows")
class Upcoming_shows(db.Model):
__tablename__ = 'Upcoming_shows'
id = db.Column(db.Integer, primary_key=True)
venue_id = db.Column(db.Integer, db.ForeignKey('Venue.id'))
artist_id = db.Column(db.Integer, db.ForeignKey('Artist.id'))
start_time = db.Column(db.DateTime)
class Past_shows(db.Model):
__tablename__ = 'Past_shows'
id = db.Column(db.Integer, primary_key=True)
venue_id = db.Column(db.Integer, db.ForeignKey('Venue.id'))
artist_id = db.Column(db.Integer, db.ForeignKey('Artist.id'))
start_time = db.Column(db.DateTime)
这是前端文件:
{% extends 'layouts/main.html' %}
{% block content %}
<div class="row shows">
{%for show in past_show %}
<div class="col-sm-4">
<div class="tile tile-show">
<img src="{{ show.image_link }}" alt="Artist Image" />
<h4>{{ show.start_time }}</h4>
<h5><a href="/artists/{{ show.artist_id }}">{{ show.name }}</a></h5>
<p>playing at</p>
<h5><a href="/venues/{{ show.venue_id }}">{{ show.name }}</a></h5>
</div>
</div>
{% endfor %}
{%for show in upcoming_shows %}
<div class="col-sm-4">
<div class="tile tile-show">
<img src="{{ artists_image_link }}" alt="Artist Image" />
<h4>{{ show.start_time }}</h4>
<h5><a href="/artists/{{ artists_id }}">{{ artists_name }}</a></h5>
<p>playing at</p>
<h5><a href="/venues/{{ venues_id }}">{{ venues_name }}</a></h5>
</div>
</div>
{% endfor %}
</div>
{% endblock %}
我已经完成了多个查询,但我只能显示其中一张表中的信息,而不是全部一起
谢谢
【问题讨论】:
标签: python flask sqlalchemy jinja2 flask-sqlalchemy