摘要:
- 添加多条学生信息
- 运算符
- 分页
- onetoone
- 下拉列表
- 传参问题
- 原生SQL
- 获得字典中值得方法
- 获得列表中值的方法
添加多条学生信息
s_list = [学生对象1, 学生对象2,..] db.session.add_all(s_list)
运算符
filter(模型名.字段.运算符('xxx')) filter(模型名.字段 运算符 值 ) 运算符 __lt__ 小于 __le__ 小于等于 __gt__ 大于 __ge__ 大于等于 in_ 在范围内 order_by 排序 limit 截取几个信息 offset 跳过几个信息 get 获取主键对应的信息
分页
paginate对象 pages 总页数 total 总条数 has_prev 是否有上页 has_next 是否有下页 prev_num next_num iter_pages() 当前一共多少页[1,2,3]
onetoone
在one的model中定义relationship字段 students = db.relationship('Student', backref='stu', lazy=True) 1)通过one找many,one的对象.students,结果为many的结果 2)通过many找one,many的对象.stu,结果为one的对象
下拉列表
前端页面中: <form method='POST'> <select name="student"> <option>请选择学生信息</option> {% for stu in stus %} <option value="{{stu.s_id}}">{{stu.s_name}}</option> {% endfor %} </select> <input type='submit' value='提交'> </form> 后端可以根据下拉列表的 name 获得下拉列表选项的值 request.forms.get('student') 可以获取value
传参问题:
/stu/?page=num/ request.form.get('page', 1) @stu.route('/delete/<int:id>/') href = '/stu/num/' ?是给request请求传入参数 /stu/num/ 是给url传入参数
原生SQL
sql = 'insert into sc(s_id, c_id) values(%s,%s)' %(s_id, c_id) db.session.execute(sql)
获得字典中值得方法
dict['键']=值 dict.get('键','默认值') 默认值可不写 意思是当获取为空时,等于默认值
获得列表中值的方法
courses = ['python', 'c++', 'java', 'HTML5', 'JavaScript'] for course in courses: passs 列表是可以迭代的 request.from.get() 可以获得一个值 request.form.getlist() 获得多个值的列表 给每个input标签都加一个复选框, 写到一个form(表单中): for循环: <input type="checkbox" name="course" value="{{cou.c_id}}">{{cou.c_name}} 当提交表单时使用getlist('course') 便可以获得多个选中的值, input标签通过name可以获得value