模型类
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
class CategoryModel(db.Model):
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
name = db.Column(db.String(100), comment="分类名")
icon = db.Column(db.String(100), comment="图标")
查
from flask import Blueprint, jsonify, request
from flask_restful import reqparse, Resource, Api
from model.model import GoodsModel, CategoryModel, db
good_bp = Blueprint("good_bp", __name__, url_prefix="/good")
api = Api(good_bp)
class CategoryView(Resource):
def get(self):
cate = CategoryModel.query.all()
temp = []
for i in cate:
temp_dict = {
"id": i.id,
"name": i.name,
"icon": i.icon
}
temp.append(temp_dict)
return jsonify({
"code": 200,
"msg": "数据展示成功",
"data": temp
})
class OneCate(Resource):
def get(self, id):
i = CategoryModel.query.get(id)
if not i:
return jsonify({
"code": 400,
"msg": "标题不存在"
})
temp = {
"id": i.id,
"name": i.name,
"icon": i.icon
}
return jsonify({
"code": 200,
"msg": "数据展示成功",
"data": temp
})
api.add_resource(CategoryView, "/cate")
api.add_resource(OneCate, "/cate/<int:id>")
增加
class CategoryView(Resource):
def post(self):
req = reqparse.RequestParser()
req.add_argument("name")
req.add_argument("icon")
args = req.parse_args()
name = args["name"]
icon = args["icon"]
if not name and not icon:
return jsonify({
"code": 400,
"msg": "数据不能为空"
})
cate = CategoryModel(name=name, icon=icon)
db.session.add(cate)
db.session.commit()
return jsonify({
"code": 200,
"msg": "添加成功"
})
删除
class OneCate(Resource):
def delete(self, id):
cate = CategoryModel.query.get("id")
if not cate:
return jsonify({
"code": 400,
"msg": "标题不存在"
})
CategoryModel.query.filter(CategoryModel.id == id).delete()
return jsonify({
"code": 200,
"msg": "删除成功"
})
修改
class OneCate(Resource):
def put(self, id):
req = reqparse.RequestParser()
req.add_argument("name")
req.add_argument("icon")
args = req.parse_args()
name = args["name"]
icon = args["icon"]
cate = CategoryModel.query.get(id)
if not cate:
return jsonify({
"code": 400,
"msg": "标题不存在"
})
if name and name != cate.name:
cate.name = name
if icon and icon != cate.icon:
cate.icon = icon
db.session.commit()
return jsonify({
"code": 200,
"msg": "更新成功"
})