SQLAlchemy中表结构的一对一

1.先创建两个数据库类,例如创建LOL与DATA2这两个类

LOL表为主表

class LOL(db.Model):
    __tablename__ = "lol"
    id = db.Column(db.Integer, primary_key=True)
    lname = db.Column(db.String(30), nullable=False)
    # 增加关联属性以及反向引用属性
    data = db.relationship("DOTA2", backref = "lol", uselist=False)

    def __repr__(self):
        return "<LOL:%r>" % self.lname

DOTA2位从表,里面含有一个lol_id字段为外键,因此两张表进行了关联

class DOTA2(db.Model):
    __tablename__ = "dota2"
    id = db.Column(db.Integer, primary_key=True)
    dname = db.Column(db.String(30))
    # 增加一个列(外键):表示引用自LOL表的外键
    lol_id = db.Column(db.Integer, db.ForeignKey("lol.id"))

    def __init__(self, dname):
        self.dname = dname

    def __repr__(self):
        return "<DOTA2:%r>" % self.dname

接着往lol表中添加数据