Flask-03 模型的创建

初始化SQLAlchemy
  
  # 方法1
  from flask-sqlalchemy import SQLAlchemy
  
  app = Flask(__name__)
  db = SQLAlchemy(app=app)
  
  # 方法2
  db = SQLAlchemy()
  
  def create_app():
      app = Flask(__name__)
      db.init_app(app=app)
      return app
  

定义模型

  
  
  from flask_sqlalchemy import SQLAlchemy
  
  db = SQLAlchemy()
  
  
  class Student(db.Model):
      __tablename__ = "tb_student"  # 数据库中对应的表的名称
      s_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
      s_name = db.Column(db.String(16), unique=True)
      s_age = db.Column(db.Integer, default=1)
  

其中:

Integer表示创建的s_id字段的类型为整形,

primary_key表示是否为主键

String表示该字段为字符串

unique表示该字段唯一

default表示默认值

autoincrement表示是否自增



创建数据库表

在视图函数中我们引入models.py中定义的db

  • db.create_all()表示创建定义模型中对应到数据库中的表

  • db.drop_all()表示删除数据库中的所有的表

  from App.models import db
  
  @blue.route("/createdb/")
  def create_db():
      db.create_all()
      return "创建成功"
  
  @blue.route('/dropdb/')
  def drop_db():
      db.drop_all()
      return '删除成功'

推荐使用 SQL 语句来在数据库中创建对应的表, 避免出现不可预知的问题, 但是在建表时一定要注意表与表之间的关联关系, 可以在数据库中建表之后在 shell 环境中导入对应的模型, 来进行 modelName.query.all() 来进行查询, 验证
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值