上一篇文章已经讲过改了,这篇文章讲下根据id查询信息:
话不多说,上代码:
rom flask import Flask, flash,request, jsonify
app = Flask(__name__)
# 连接mysql数据库需要导入pymysql模块
import pymysql
pymysql.install_as_MySQLdb()
# 导入SQLAlchemy扩展:通过python对象操作数据库
from flask_sqlalchemy import SQLAlchemy
# #实例化SQLALchemy
# db = SQLAlchemy(app)
# 配置数据库的地址; 协议+用户名:密码@主机IP/数据库名称
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:root@localhost/flask?charset=utf8'
# 实时跟踪数据库的修改,不建议开启
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
# 实例化SQLALchemy,实例化需要写在配置数据库之后
db = SQLAlchemy(app)
# 定义数据库模型
class need(db.Model):
# 定义表名
__tablename__ = 'needs'
# 定义字段
# primary_key=True 声明主键 unique=True 值唯一 nullable=False 非空
# 默认主键(label_id)auto_increment 自增
need_id = db.Column(db.Integer, primary_key=True, nullable=False)
title = db.Column(db.String(16), nullable=False)
applicant_name = db.Column(db.String(16), nullable=False)
applicant_number = db.Column(db.Integer, nullable=False)
department = db.Column(db.String(16), nullable=False)
business = db.Column(db.String(16), nullable=False)
systemctl_number = db.Column(db.String(16), nullable=False)
cause = db.Column(db.String(40), nullable=False)
def to_dict(self):
return{
"need_id": self.need_id,
"title": self.title,
"applicant_name": self.applicant_name,
"applicant_number": self.applicant_number,
"department":self.department,
"business": self.business,
"system_number": self.business,
"cause": self.cause
}
#依据需求ID查询需求
@app.route('/query',methods=['GET'])
def query ():
js = request.get_json()
Need_id = js['need_id']
# 查询数据库是否有对应id的需求
data=[]
Query=need.query.filter_by(need_id=Need_id).all()
if Query:
try:
for i in Query:
QUERY = i.to_dict()
data.append(QUERY)
# Query = i.to_dict()
# data.append(Query)
return jsonify({"code": "0000", "data": data,"msg": "请求成功"})
except Exception as e:
# 回滚
db.session.rollback()
else:
return jsonify({"code": "0000", "msg": "需求找不到"})
if __name__ == '__main__':
# 删除所有表
#db.drop_all()s
# 创建所有表
db.create_all()
app.run(host="192.168.56.99", debug=True,)
进入postman 进行请求参数设定;
注:此处我设定的请求方式为GET;
可以看到我的请求成功的返回值data中包含我要的数据;
在本地服务器上查看已经请求成功: