from flask_sqlalchemy import SQLAlchemy
from datetime import datetime
db = SQLAlchemy()
class Grade(db.Model):
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
g_name = db.Column(db.String(10), nullable=True)
# 定義模型Grade和Student模型的關聯(lián)關系
# relationship可以定義在任何一方 {哪一張表} {范查詢}
stus = db.relationship('Student', backref='g')
__tablename__ = 'grade'
c_s = db.Table('c_s',
db.Column('c_id', db.Integer, db.ForeignKey('course.id')),
db.Column('s_id', db.Integer, db.ForeignKey('stu.id')))
class Course(db.Model):
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
c_name = db.Column(db.String(10), nullable=False)
# 指定Course和Student的多對多關聯(lián)關系
stus = db.relationship('Student', secondary=c_s, backref='cou')
#relationship可以定義在關聯(lián)模型的任何一方
__tablename__ = 'course'
class Student(db.Model):
# 自增主鍵 id 字段
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
s_name = db.Column(db.String(10), unique=True, nullable=False)
s_age = db.Column(db.Integer, default=18)
# auto_now_add
# auto_now 只在save()方法調用的時候auto_now字段才做更新。
# update() 方法調用時auto_now字段不跟新
create_time = db.Column(db.DateTime, default=datetime.now)
"""
# 定義外鍵
sql: alter table stu add grade_id int;
sql: alter table stu add foreign key(grade_id) references grade(id) """
grade_id = db.Column(db.Integer, db.ForeignKey('grade.id'), nullable=True)
"""
# 如果沒定義 tablename, 那么名字為模型名稱小寫
# 定義 tablename 表示模型遷移導數(shù)據(jù)庫中對應的表名稱 """
__tablename__ = 'stu'
def save(self):
# 事務session的add方法,其實是準備插入語句,insert
db.session.add(self)
# 事務session提交了,數(shù)據(jù)才會插入到數(shù)據(jù)庫中
db.session.commit()
#可視化結果,可以有也可以沒有
# def __repr__(self):
# return '<Stuent(%s)>' % self.id
Flask 模型 多對多
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
相關閱讀更多精彩內容
- Flask 數(shù)據(jù)庫多對多關系 實現(xiàn)學生與學院之間的多對多關系 這個例子中的關聯(lián)表是 registrations,表...
- 一對一的關系比如 用戶 和 身份證的區(qū)別就是 一對一的關系 一個用戶只可以有一個身份證 class User(db...