Flask-SQLAlchemy数据库操作

Posted 隔壁古二蛋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask-SQLAlchemy数据库操作相关的知识,希望对你有一定的参考价值。

建表

# -*- coding: UTF-8 -*-
from . import db

#多对多关系表,两组一对多,即为多对多
class Boy2Girl(db.Model):
    __tablename__ = ‘boy2girl‘
    nid = db.Column(db.Integer,primary_key=True)
    #建立一对多关系,ForeignKey传入对应表的__tablename__.id
    boy_id = db.Column(db.Integer,db.ForeignKey(‘boy.id‘))
    # 建立一对多关系,ForeignKey传入对应表的__tablename__.id
    girl_id = db.Column(db.Integer,db.ForeignKey(‘girl.id‘))

class Boy(db.Model):
    __tablename__ = ‘boy‘
    id = db.Column(db.Integer,primary_key=True)
    name = db.Column(db.String(32),unique=True)
    age = db.Column(db.Integer)
    #并不会在数据库中生成列,作用为ORM调用时可以通过.来调用另一张表
    #例如boy.girl,girl.boy
    #传入的参数为另一张表的类名,关系表的表名,反向查询时的名字,可以为任意名字
    girl = db.relationship(‘Girl‘,secondary = Boy2Girl.__tablename__,backref = ‘boy‘)
    car = db.relationship(‘Car‘,backref = ‘boy‘)
    def __repr__(self):
        return ‘<Boy %r>‘%self.name

class Girl(db.Model):
    __tablename__ = ‘girl‘
    id = db.Column(db.Integer,primary_key=True)
    name = db.Column(db.String(32),unique=True)
    age = db.Column(db.Integer)


    def __repr__(self):
        return ‘<Girl %r>‘ % self.name

class Car(db.Model):
    __tablename__ = ‘car‘
    id = db.Column(db.Integer,primary_key=True)
    name = db.Column(db.String(32),unique=True)
	#建立一对多关系,ForeignKey传入对应表的__tablename__.id,写在多的一对多中多的那边
    boy_id = db.Column(db.Integer,db.ForeignKey(‘boy.id‘))

    def __repr__(self):
        return ‘<Car %r>‘%self.name

  

以上是关于Flask-SQLAlchemy数据库操作的主要内容,如果未能解决你的问题,请参考以下文章

那些年我们学Flask-SQLAlchemy,实现数据库操作,分页等功能

Flask-SQLAlchemy操作

使用Flask-SQLALchemy操作MySQL数据库

flask-sqlalchemy基本操作数据库

Flask-SQLAlchemy安装及设置

Flask-SQLAlchemy安装及设置