sqlalchemy.exc.InvalidRequestError: When initializing mapper mapped class

sqlalchemy.exc.InvalidRequestError: When initializing mapper mapped class

我是初学者,尝试使用 SQLalchemyFlask 项目中创建关系数据库
这是我在尝试注册用户时遇到的错误:-

sqlalchemy.exc.InvalidRequestError: When initializing mapper mapped class Question->question, expression 'Answer' failed to locate a name ('Answer'). If this is a class name, consider adding this relationship() to the <class 'nothingness.models.Question'> class after both dependent classes have been defined.


数据库关系是:-
用户(多对多)Table
用户(1 对多)问题
问题(1 对多)答案
Table(1 到多)问题

这是我的代码

from datetime import datetime

from nothingness import db

members = db.Table(
    "member",
    db.Column("id", db.Integer, primary_key=True),
    db.Column("table_id", db.Integer, db.ForeignKey("table.id")),
    db.Column("user_id", db.Integer, db.ForeignKey("user.id")),
)


class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(25), unique=True, nullable=False)
    name = db.Column(db.String(25), nullable=False)
    email = db.Column(db.String(), unique=True, nullable=False)
    image_file = db.Column(db.String(20), nullable=False, default="default.jpg")
    password = db.Column(db.String(60), nullable=False)
    created_at = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
    member = db.relationship("Table", secondary=members, backref=db.backref("members", lazy=True))
    prashna = db.relationship("Question", backref="user", lazy=True)

    def __repr__(self):
        return f"User('{self.name}', '{self.username}', '{self.email}', '{self.image_file}')db.Model"


class Table(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(25), nullable=False)
    key = db.Column(db.String(5), nullable=False)
    created_at = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
    question = db.relationship("Question", backref="questions", lazy=True)

    def __repr__(self):
        return f"Table('{self.id}', '{self.name}', '{self.key}', {self.created_at})"


class Question(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    question = db.Column(db.String(255), nullable=False)
    asked_by = db.Column(db.Integer, db.ForeignKey("user.id"))
    asked_to = db.Column(db.Integer, nullable=False)
    answer = db.relationship("Answer", backref="question", lazy=True)
    table = db.Column(db.Integer, db.ForeignKey("table.id"))
    created_at = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)


class Answer:
    id = db.Column(db.Integer, primary_key=True)
    points = db.Column(db.Integer)
    answer = db.Column(db.String(255), nullable=False)
    answered_by = db.Column(db.Integer, nullable=False)
    table_id = db.Column(db.Integer, nullable=False)
    created_at = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
    question = db.Column(db.Integer, db.ForeignKey("question.id"))

    def __repr__(self):
        return f"Answer('{self.points}', '{self.answer}', '{self.created_at}')"

发生此错误是因为我忘记将 Answer 子类化为 db.Model