学会用三种方法检索数据html
一、对象方式前端
二、字典方式ajax
三、元组方式数据库
models后面,若是是.values() 则为字典方式json
若是是value_list() 则为元组方式post
跨表操做时,若是是对象,能够用.进行跨表查询字段url
若是用指定列名的字符串方式,则须要用神奇的"__"双下划线来引入跨表字段3d
详见20180910项目示例orm
初始Ajax,能够取代form表单提交,主要应用于验证数据htm
$('#ajax_submit').click(function () {
$.ajax({
url:"/test_ajax/",
type:'POST',
data:{'hostname':$('#hostname').val(),'ip':$('#ip').val(), 'port':$('#port').val(), 'b_id':$('#b_id').val()},
success:function (data) {
if (data == "OK") {
location.reload();
}
else
{
alert(data);
}
},
})
})
JQuery内部有不少方法,诸如$.get\$.post\$.getJson等,其内部都是调用的$.ajax方法
本质上是同样的,发请求操做的,推荐使用$.ajax,
补充知识:JSON的序列化和反序列化
前端字符串转对象:JSON.parse()
前端对象转字符串:JSON.stringify()
建议使用HTTPresponse+JSON.dumps()返回一个标注格式的字典,便于前端解析JSON格式后进行后续处理
若是用return render,返回一个html,前端没法json解析,没有什么意义
另,ajax没法return一个redirect重定向,请注意!
练习使用ajax进行静态页面的增删改查
数据库的多对多操做:
建立多对多关系一:自定义关系表
方式二:自动建立关系表
用途中:自动建立的方便,可是只能是两个表的关系,加上自身ID,一共有且只有3列,不是很灵活
自定义的使用灵活
自定义的方式,调用数据表能够用类方式
而自动生成的,须要调用对象的列进行操做,至关于只是对第三张表进行操做了
obj.r.all() --> 能够获取到相关的host对象的QuestSet”列表“”
补充知识点:ajax操做返回的数据类型的区别:
“**************若是增长一个dataType:‘JSON’,则直接将字符串data转换为obj对象回给用户*********
注意ajax语法和功能点: