Flask对模型类的操作

1. 创建一个config文件夹,里面在创建一个settings.py文件写入配置

class DefaultConfig():
	SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:222222@127.0.0.1:3306/h2111p7'
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    SQLALCHEMY_ECHO = True

2. 创建一个models文件夹,里面在创建一个model.py文件,写入模型类

from flask_sqlalchemy import SQLAlchemy
from datetime import datetime

# 去app.py文件中初始化
db = SQLAlchemy()

class UserModel(db.Model):
	id = db.Column(db.Integer, primary_key=True, autoincrement=True, comment='ID')
	username = db.Column(db.String(32), nullable=False, default='', comment='用户名')
	password = db.Column(db.String(64), nullable=False, default='', comment='密码')
	sex = db.Column(db.Boolean, nullable=False, default=True, comment='性别 0:男 1:女')
	login_date = db.Column(db.DateTime, default=datetime.now, comment='注册日期')

3. 在创建一个app.py文件写入代码

from flask import Flask
from models.models import db
from config.settings import DefaultConfig

 # 初始化Flask
app = Flask(__name__)

app.config.from_object(DefaultConfig)
print(app.config)

 # 初始化数据库
db.init_app(app)

if __name__ == ' __main__ ':
	app.run()
  1. 一定要在根目录下创建一个manage.py迁移文件
from flask_migrate import Manager
from flask_migrate import MigrateCommand, Migrate
from models.model import db
from app import app

# 生成命令行管理对象
manage = Manager(app)
# 生成迁移对象
migrate = Migrate(app, db)
manage.add_command('db', MigrateCommand)

if __name__ == ' __main__ ':
	manage.run()

  1. 迁移命令
python manage.py db init
python manage.py db migrate
python manage.py db upgrade

4. 模型类的增、删、改、查

  1. 首先在app.py里注册一个蓝图
from order import order_bp
app.register_blueprint(border_bp)
  1. 创建一个order.py文件写入代码
from flask import Buleprint
from flask_restful import Api, Resource, marshal, fields
from models.model import UserModel, db

# 初始化类方法
order_bp = Blueprint('order_bp', __name__, url_prefix='/order')

# 初始化Api
api = Api(order_bp)

# 对数据库的增、删、改、查方法
class OrderView(Resoure):
	def get(self):
		# 添加数据
        # ul = UserModel(
        #     username='wangwu',
        #     password='111',
        #     sex=False
        # )
        # us = UserModel(
        #     username='lisi',
        #     password='111',
        #     sex=False
        # )
        # # db.session.add(ul)  # 添加一条数据
        # db.session.add_all([ul, us])  # 添加多条数据
        # db.session.commit()


        """查看数据"""
        # 查看所有数据
        # query_set = UserModel.query.all()
        # print(query_set)

        # 查询单个数据
        # query_set = UserModel.query.get(2)
        #
        # return marshal(query_set, {
        #     'id': fields.Integer,
        #     'username': fields.String,
        #     'password': fields.String,
        #     'sex': fields.Integer
        # })

        """修改数据"""
        # 1、
        # UserModel.query.filter_by(username='zhangsan').update({'password': '222'})

        # 2、
        # query_put = UserModel.query.filter_by(username='zhangsan').first()
        # query_put.password = '333'

        # 修改所有
        # UserModel.query.update({'password': '222'})

        # db.session.commit()
        # return '修改成功'

        """删除数据"""
        # UserModel.query.filter_by(username='zhangsan').delete()

        # 删除所有
        UserModel.query.delete()
        
		# 提交事务
        db.session.commit()
        return '删除成功'		


# 配置路由
api.add_resource(OrderView, '/order')

常见的数据库类型

数据类型解释
Integer一个整数(*****)
String (size)有长度限制的字符串(*****)
Text一些较长的 unicode 文本(*****)
DateTime表示为 Python datetime 对象的 时间和日期(*****)
Float存储浮点值
Boolean存储布尔值
PickleType存储为一个持久化的 Python 对象
LargeBinary存储一个任意大的二进制数据
DECIMAL小数值(10,2)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值