多对多表格的Ajax实现 老师和班级的关系使用如下表格记录: id,class_id,teacher_id 现在需要将teacher,class和上述的关系表全部链接起来。 select teacher.id as tid,teacher.name,class.title from teacher left join teacher2class on teahcer.id=teacher2class.teacher_id left join class on class.id=teacher2class.class_id 然后定义展示函数: def teachers(request): teacher_list = sqlhelper.get_list(""" 上面的SQL语句 """,[]) 这样,每个老师会有多行数据。下面将列表进行改造,每个教师一行,班级名称包含多项。 result={} for row in teacher_list: tid = row['tid'] if tid in result: result[tid]['titles'].append(row['title']) else: result[tid] = {'tid':row['tid'],'name'=row['name'],'titles':row['title']} 取最后一个自增id,pymysql的lastrowid request.POST.getlist('name'),取多选下拉框的值 多对多选择的时候,左右两个框之间来回移动。 request的使用方法: request.GET.getlistqu取多个值 request.POST request.method return的使用方法: return render() return HttpResponse() return redirect() 模板语言中可以使用的方法: for if 索引的使用方法.用点取值 {{}}单个值得取值方法 模板的渲染是在后台执行,然后发送给浏览器。 1、js序列化。 2、阻止默认事件发生的方法 (1)<a><onclick='return func();'></a>。此时,如果函数返回false,则阻止默认事件的发生;如果返回true,则按照原有默认顺序执行。 (2)<a id></a>