def editTearcher(request): if request.method == 'GET': tid = request.GET.get('tid') obj = SQLHelper() tearcher_info = obj.get_one( 'select tid,tname from tearcher where tid = %s', [tid]) tearcher_class_list = obj.get_list( 'select cid from tearch2class where tearch2class.tid = %s', [ tid, ]) class_list = obj.get_list('select id,name from class') obj.close() temp = [] for i in tearcher_class_list: temp.append(i['cid']) return render( request, 'edit_tearcher.html', { 'info': tearcher_info, 'tearcher_class_list': temp, 'class_list': class_list }) else: tid = request.GET.get('tid') class_ids = request.POST.getlist('class_ids') tname = request.POST.get('tname') #更新老师表 obj = SQLHelper() obj.modify('update tearcher set tname=%s where tid = %s', [tname, tid]) #更细老师班级关系表 # 方案一:先删除老师和班级的对应关系删除,之后再做添加 obj.modify('delete from tearch2class where tid = %s', [tid]) sql_args = [] for cid in class_ids: temp = (tid, cid) sql_args.append(temp) obj.multiple_modify( 'insert into tearch2class(tid, cid) values (%s,%s)', sql_args) obj.close() # 方案二:把新的班级数据和老的数据做对比进行删除和增加 return redirect('/tearchers/')
def addtearchers(request): if request.method == 'GET': obj = SQLHelper() class_list = obj.get_list('select * from class') obj.close() return render(request, 'addTearcher.html', {"class_list": class_list}) else: tname = request.POST.get('tname') clds = request.POST.getlist('class_ids') obj = SQLHelper() #老师表中添加数据 #获取老师id tearcher_id = obj.create('insert into tearcher(tname) values (%s)', [tname]) #老师班级表中插入数据 sql_args = [] for cid in clds: temp = (tearcher_id, cid) sql_args.append(temp) obj.multiple_modify( 'insert into tearch2class(tid, cid) values (%s,%s)', sql_args) obj.close() return redirect('/tearchers/')