Flask 炼金术不会创建表和外键

Flask 炼金术不会创建表和外键,flask,flask-sqlalchemy,Flask,Flask Sqlalchemy,我有一个不会在数据库中创建表的模型,如下所示 类别人员B.型号: __tablename__ = 'persons' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(20)) pets = db.relationship('Pet', backref='person') 类Petdb.Model: __tablename__ = 'pets' id = db.Column(db.Integer,

我有一个不会在数据库中创建表的模型,如下所示

类别人员B.型号:

__tablename__ = 'persons'

id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(20))
pets = db.relationship('Pet', backref='person')
类Petdb.Model:

__tablename__ = 'pets'

id = db.Column(db.Integer, primary_key=True)
name=db.Column(db.String(20))
owner_id = db.Column(db.Integer, db.ForeignKey('person.id'),nullable=False)
问题可能是因为使用命令后类名和表名不匹配

db.create_all()
抛出错误???

更改此

owner_id = db.Column(db.Integer, db.ForeignKey('person.id'),nullable=False)

因为你的桌子是人

并为该关系指定一个不同的名称,因为您已经有一个名为pets的表

pets = db.relationship('Pet', backref='person')
例如,你可以这样做

persons_pets = db.relationship('Pet', backref='person')
persons_pets = db.relationship('Pet', backref='person')