烧瓶backref返回空列表

时间:2020-07-09 16:00:20

标签: flask flask-sqlalchemy flask-wtforms

我正在开发一个带有ProjectsTickets表的简单烧瓶应用,它们看起来像下面的

class Projects(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(100), nullable = False)
    description = db.Column(db.Text, nullable = False)
    created_by_id = db.Column(db.Integer, nullable = False)
    expert_id = db.Column(db.Integer, db.ForeignKey('users.id'))

    def __repr__(self):
        return f"{self.title}"


class Tickets(db.Model):
    id = db.Column(db.Integer,primary_key=True)
    title = db.Column(db.String(100),nullable=False)
    ticket_text = db.Column(db.Text,nullable=False)
    date_posted = db.Column(db.DateTime,nullable=False,default=datetime.utcnow)
    created_by_id = db.Column(db.Integer, nullable=False)
    expert_id = db.Column(db.Integer, db.ForeignKey('users.id'),nullable=False)
    project_id = db.Column(db.Integer, db.ForeignKey('projects.id'),nullable=False)
    projects = db.relationship('Projects', backref='ticketso', lazy=True)

    def __repr__(self):
        return f"Tickets('{self.title}','{self.date_posted}')"

基本上是一个Project可以有很多Tickets,但是当我查询它时

 @app.route('/project/<project_id>')
  def project(project_id):
  project = Projects.query.get_or_404(project_id)
  return render_template('project.html',title=project.title, project=project)

并尝试显示它

   <div class="jumbotron">
    <h1>{{ project.title }}</h1>
    <p>{{ project.description }}</p>
    <p><a class="btn btn-primary btn-md">{{ project.created_by_id }}</a></p>
    <p><a class="btn btn-primary btn-lg">{{ project.ticketso }}</a></p>
  </div>

这里project.ticketso将返回分配给该项目的票证列表,但会返回空列表

我的tickets.html页可以成功显示分配给该特定票证的Project_id

0 个答案:

没有答案