Flask 炼金术不会创建表和外键
我有一个不会在数据库中创建表的模型,如下所示 类别人员B.型号: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,
__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')