Python 烧瓶sqlalchemy backref不起作用

Python 烧瓶sqlalchemy backref不起作用,python,flask,sqlalchemy,Python,Flask,Sqlalchemy,我正在尝试使用flask和sqlalchemy实现一个应用程序 这是我的模特 from blog import db from blog import bcrypt class Base(db.Model): __abstract__ = True id = db.Column(db.Integer, primary_key=True) class User(Base): __tablename__ = "user" email = db.Column(

我正在尝试使用flask和sqlalchemy实现一个应用程序

这是我的模特

from blog import db
from blog import bcrypt


class Base(db.Model):

    __abstract__ = True
    id = db.Column(db.Integer, primary_key=True)


class User(Base):
    __tablename__ = "user"
    email = db.Column(db.String(128), unique=True)
    password = db.Column(db.String(256))
    nickname = db.Column(db.String(128))
    posts = db.relationship('Post', backref="author", lazy="dynamic")
    is_admin = db.Column(db.Boolean, default=False)
    is_active = db.Column(db.Boolean, default=False)

    def set_password(self, password):
        self.password = bcrypt.generate_password_hash(password=password)


    def check_password_hash(self, password):
        result = bcrypt.check_password_hash(self.password, password)
        if result:
            return True
        else:
            return False


class Post(Base):
    __tablename__ = "post"
    title = db.Column(db.String(64))
    body = db.Column(db.Text)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
我创建了用户对象,也创建了帖子,它们是相关的。 而backref不起作用

我的意思是在模板中

{{ post.author.nickname }}
结果是没有。 我不知道这为什么不起作用。
user\u id列,ForeignKey正在工作。

您的脚本在我这边运行得很好。你确定post.author是None吗?它会引发异常……是的。。。我不知道为什么它不起作用。。我的朋友们都很好。。但我的不是。。。是否需要重新创建db?是否确定在关闭
会话之前加载了
用户
对象?如何从数据库加载
post
实例?我使用post.query.filter\u by(filter)从SQLAlchemy加载post。首先()我认为不需要从会话加载用户查询。。