SQLAlchemy中表结构的一对一

Posted zengsf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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表中添加数据

 

以上是关于SQLAlchemy中表结构的一对一的主要内容,如果未能解决你的问题,请参考以下文章

SQLAlchemy外键的使用

SQLAlchemy学习-3.(懒人专用)sqlacodegen自动同步数据库中表生成model 代码

mssql db 和 sqlalchemy 中表/列的 Unicode 名称

在sqlalchemy中插入具有一对多关系的新记录

SQLAlchemy-ORM

是否可以将 session.insert 用于 SQLAlchemy 中的一对一关系?