时间:2021-07-01 10:21:17 帮助过:21人阅读
建表
# -*- 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数据库操作
标签:数据 pytho from 表名 col flask 调用 import car