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() 来进行查询, 验证

猜你喜欢

转载自blog.csdn.net/zhang_ming_lu/article/details/80787036