Flask数据库关系
发布时间:2020-12-20 10:52:51 所属栏目:Python 来源:网络整理
导读:基础配置 from flask import Flaskfrom flask_sqlalchemy import SQLAlchemyapp = Flask(__name__)db = SQLAlchemy(app)app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:[email?protected]/flask' 一对多 class Singer(db.Model): id = db.C
基础配置from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) db = SQLAlchemy(app) app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:[email?protected]/flask' 一对多class Singer(db.Model): id = db.Column(db.Integer,primary_key=True) name = db.Column(db.String(70),unique=True) songs = db.relationship('Song',backref='singer') class Song(db.Model): id = db.Column(db.Integer,unique=True) singer_id = db.Column(db.Integer,db.ForeignKey('singer.id')) 多对一(不是必须时还是用与一对多吧)比一对多的用法,会少一个从一里访问多的字段。 class Citizen(db.Model): id = db.Column(db.Integer,unique=True) city_id = db.Column(db.Integer,db.ForeignKey('city.id')) city = db.relationship('City') class Country(db.Model): id = db.Column(db.Integer,primary_key=True) name = db.Column(db.String(79),unique=True) capital = db.relationship('Capital',uselist=False) 一对一class Country(db.Model): id = db.Column(db.Integer,uselist=False) class Capital(db.Model): id = db.Column(db.Integer,unique=True) country_id = db.Column(db.Integer,db.ForeignKey('country.id')) country = db.relationship('Country' 多对多association_table = db.Table( 'association',db.Column('student_id',db.Integer,db.ForeignKey('student.id')),db.Column('teacher_id',db.ForeignKey('teacher.id')) ) class Student(db.Model): id = db.Column(db.Integer,unique=True) grade = db.Column(db.String(20)) teachers = db.relationship( 'Teacher',secondary=association_table,backref='students') class Teacher(db.Model): id = db.Column(db.Integer,unique=True) office = db.Column(db.String(20)) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |