我想使用Edetails中的organiser_id来查询User中的forename并将其显示在html页面上
我必须在这里写什么才能这样做? 忽略未闭环/选择,代码太长
{% for event in edetails %}
{% if event.weekday == "Monday" %}
{% if event.clubOrEvent == "club" or event.weeknum == thisweek %}
<div class="modal-body">
Date/Starting Date: {{ event.date }}
<br>
Open to year: {{ event.yearGroup }}
<br>
Organiser: {{ **HERE** }}
</div>
views.py 定义 home.html 的视图
from flask import Blueprint, render_template
from flask_login import current_user
from .models import Edetails,User
from datetime import date
views = Blueprint('views', __name__)
#defining homepage to be home.html
@views.route('/', methods=['GET', 'POST'])
def home():
return render_template(
"home.html",
user=current_user,
edetails=Edetails.query.all(),
thisweek = (date.today()).isocalendar()[1],
users = User.query.all()
)
models.py 其中定义表
from . import db
from flask_login import UserMixin
#defining tables in the database
class User(db.Model, UserMixin):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(15))
forename = db.Column(db.String(50))
surname = db.Column(db.String(50))
email = db.Column(db.String, unique=True)
password= db.Column(db.String(50))
events = db.relationship('Edetails')
class Edetails(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(30))
maxSpaces = db.Column(db.Integer)
date = db.Column(db.Date)
time = db.Column(db.Time)
location = db.Column(db.String(50))
yearGroup = db.Column(db.String(50))
weekday = db.Column(db.Integer)
clubOrEvent = db.Column(db.String(5))
description = db.Column(db.String(300))
organiser_id = db.Column(db.Integer, db.ForeignKey('user.id'))
weeknum = db.Column(db.Integer)
下面的示例向您展示了如何使用
User
在 Edetails
中访问
relationship
类型的管理器。
class Edetails(db.Model):
id = db.Column(db.Integer, primary_key=True)
# ...
organiser_id = db.Column(db.Integer, db.ForeignKey('user.id'))
organiser = db.relationship('User')
活动的组织者可以通过属性
organiser
查询。因此也可以到达名字。
Organiser: {{ event.organiser.forename }}