示例#1
0
def common_edit(DynamicModel, form, view):
    id = request.args.get('id', '')
    if id:
        # 查询
        model = DynamicModel.get(DynamicModel.id == id)
        if request.method == 'GET':
            utils.model_to_form(model, form)
        # 修改
        if request.method == 'POST':
            if form.validate_on_submit():
                utils.form_to_model(form, model)
                model.save()
                flash('修改成功')
            else:
                utils.flash_errors(form)
    else:
        # 新增
        if form.validate_on_submit():
            model = DynamicModel()
            utils.form_to_model(form, model)
            model.save()
            flash('保存成功')
        else:
            utils.flash_errors(form)
    return render_template(view, form=form, current_user=current_user)
示例#2
0
def common_edit(DynamicModel, form, view):
    id = request.args.get('id', '')
    if id:
        # 查询
        model = DynamicModel.get(DynamicModel.id == id)
        if request.method == 'GET':
            utils.model_to_form(model, form)
        # 修改
        if request.method == 'POST':
            # if form.validate_on_submit():
            utils.form_to_model(form, model)
            model.password = generate_password_hash(model.password)
            model.save()
            # flash('修改成功')
            return render_template('auth/respond.json', state='success')
        # else:
        #utils.flash_errors(form)

    else:
        # 新增
        # if form.validate_on_submit():
        if request.method == 'POST':
            model = DynamicModel()
            utils.form_to_model(form, model)
            model.password = generate_password_hash(model.password)
            model.save()
            return render_template('auth/respond.json', state='success')
            # flash('保存成功')
        # else:
        #     utils.flash_errors(form)
    return render_template(view, form=form, current_user=current_user, id=id)
示例#3
0
def common_edit(DynamicModel, form, view):
    id = request.args.get('id', '')
    if id:
        # Inquire
        model = DynamicModel.get(DynamicModel.id == id)
        if request.method == 'GET':
            utils.model_to_form(model, form)
        # Modify
        if request.method == 'POST':
            if form.validate_on_submit():
                utils.form_to_model(form, model)
                model.save()
                flash('Successfully Modified', 'success')
            else:
                utils.flash_errors(form)
    else:
        # Add
        if form.validate_on_submit():
            model = DynamicModel()
            utils.form_to_model(form, model)
            model.save()
            flash('Save Successfully', 'success')
        else:
            utils.flash_errors(form)
    return render_template(view, form=form, current_user=current_user)
def common_edit(DynamicModel, form, view):
    id = request.args.get('id', '')
    if id:
        # 查询
        model = DynamicModel.get(DynamicModel.id == id)
        if request.method == 'GET':
            utils.model_to_form(model, form)
        # 修改
        if request.method == 'POST':
            if form.validate_on_submit():
                utils.form_to_model(form, model)
                model.save()
                flash('修改成功')
            else:
                utils.flash_errors(form)
    else:
        # 新增
        if form.validate_on_submit():
            model = DynamicModel()
            utils.form_to_model(form, model)
            model.save()
            flash('保存成功')
        else:
            utils.flash_errors(form)
    return render_template(view, form=form, current_user=current_user)
示例#5
0
def common_list_account(DynamicModel, form, view):
    # 接收参数
    del_id = request.args.get('id')  ####从html代码中得到删除的相关信息
    model = DynamicModel()
    form_to_model(form, model)
    dct = model_to_dict(model)  ####将model转化为dict,方便输出debug和输入
    this_id = dct['id']
    branchname = dct['branchName']
    if branchname == None:
        branchname = ''
    if this_id == None:
        this_id = ''
    print(len(this_id))
    try:
        branchname = dct['branchName']['branchName']
    except:
        branchname = ''
    print(len(branchname))
    print(dct)
    if del_id != None:
        try:
            print("EEEEEEEEEEEEEE")
            print(del_id)
            ######找出所有的和当前要删除账户id相关联的账户的关系,并且挨个删除
            query = OpenAccount.select().where(
                (OpenAccount.depositAccountId == del_id)
                | (OpenAccount.chequeAccountId == del_id))
            print("AAAAAAAAAAAAA")
            for e in query:
                e.delete_instance()
            DynamicModel.get(DynamicModel.id == del_id).delete_instance()
            flash('删除成功')
        except:
            flash('删除失败')
    ####根据不同的现有数据进行查询,接下来的一些实现中可以放宽需求。
    #branch = Branch.select().where(Branch.branchName == branchname)
    if len(this_id) and len(branchname):
        query = DynamicModel.select().where((DynamicModel.id == this_id) & (
            DynamicModel.branchName == branchname))
    elif len(this_id):
        query = DynamicModel.select().where(DynamicModel.id == this_id)
    elif len(branchname):
        query = DynamicModel.select().where(
            DynamicModel.branchName == branchname)
    else:
        query = DynamicModel.select()
    total_count = query.count()
    #####重新组织好查询结果
    list = []
    for e in query:
        temp = model_to_dict(e)
        temp['branchName'] = temp['branchName']['branchName']
        list.append(temp)
    dict = {'content': list}
    print(dict)
    return render_template(view,
                           form=dict,
                           form_search=form,
                           current_user=current_user)
示例#6
0
def common_list_client(DynamicModel, form, view):
    # 接收参数
    del_id = request.args.get('id')  ####从html代码中得到删除的相关信息
    model = DynamicModel()
    form_to_model(form, model)
    dct = model_to_dict(model)  ####将model转化为dict,方便输出debug和输入
    name = dct['clientName']
    this_id = dct['id']
    print(dct)
    if del_id != None:
        try:
            '''
            这里需要添加的是对于删除条件的审查
            '''
            #########同步添加
            #######寻找是否存在着关联的账户或者贷款
            print("PPPPPPPPPPPP")
            account_count = OpenAccount.select().where(
                OpenAccount.id == del_id).count()
            loan_count = OwnLoan.select().where(
                OwnLoan.clientId == del_id).count()
            print("SSSSSSSSSS")
            if account_count + loan_count == 0:
                Serve.delete().where(Serve.clientId == del_id).execute()
                Client.get(Client.id == del_id).delete_instance()
                print("OOOOOOOOOOOOO")

                flash('删除成功')
            else:
                flash('该用户与账户/贷款存在着绑定关系,无法删除')
        except:
            flash('删除失败')
    ####根据不同的现有数据进行查询,接下来的一些实现中可以放宽需求。
    if len(this_id) and len(name):
        query = DynamicModel.select().where((DynamicModel.id == this_id) &
                                            (DynamicModel.clientName == name))
    elif len(name):
        query = DynamicModel.select().where(DynamicModel.clientName == name)
    elif len(this_id):
        query = DynamicModel.select().where(DynamicModel.id == this_id)
    else:
        query = DynamicModel.select()
    total_count = query.count()
    #####重新组织好查询结果
    list = []
    for e in query:
        list.append(model_to_dict(e))
    dict = {'content': list}
    print(dict)
    return render_template(view,
                           form=dict,
                           form_search=form,
                           current_user=current_user)
示例#7
0
def common_list_bank(DynamicModel, form, view):
    # 接收参数
    del_name = request.args.get('id')  ####从html代码中得到删除的相关信息
    model = DynamicModel()
    form_to_model(form, model)
    dct = model_to_dict(model)  ####将model转化为dict,方便输出debug和输入
    name = dct['branchName']
    city = dct['branchCity']
    print("HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH")
    print(dct)
    if del_name != None:
        try:
            account_count = OpenAccount.select().where(
                OpenAccount.branchName == del_name).count()
            print("SSSSSSSSSSS")
            staff_count = Staff.select().where(
                Staff.branchName == del_name).count()
            print(account_count)
            print(staff_count)
            if account_count + staff_count == 0:
                print("dddddd")
                DynamicModel.get(
                    DynamicModel.branchName == del_name).delete_instance()
                #Serve.get(DynamicModel.id == del_name).delete_instance()
                flash('删除成功')
            else:
                flash('该支行与账户/员工存在着绑定关系,无法删除')
        except:
            flash('删除失败')
    ####根据不同的现有数据进行查询,接下来的一些实现中可以放宽需求。
    if len(name) and len(city):
        query = DynamicModel.select().where((DynamicModel.branchName == name) &
                                            (DynamicModel.branchCity == city))
    elif len(name):
        query = DynamicModel.select().where(DynamicModel.branchName == name)
    elif len(city):
        query = DynamicModel.select().where(DynamicModel.branchCity == city)
    else:
        query = DynamicModel.select()
    total_count = query.count()
    #####重新组织好查询结果
    list = []
    for e in query:
        list.append(model_to_dict(e))
    dict = {'content': list}
    print(dict)
    return render_template(view,
                           form=dict,
                           form_search=form,
                           current_user=current_user)
示例#8
0
def common_list_staff(DynamicModel, form, view):
    # 接收参数
    del_id = request.args.get('id')  ####从html代码中得到删除的相关信息
    model = DynamicModel()
    form_to_model(form, model)
    dct = model_to_dict(model)  ####将model转化为dict,方便输出debug和输入
    name = dct['staffName']
    branch = dct['branchName']
    print("HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH")
    this_id = dct['id']
    print(dct)
    if del_id != None:
        try:
            #######寻找是否存在着关联的账户或者贷款
            print("QAW")
            print(del_id)
            Serve_count = Serve.select().where(Serve.staffId == del_id).count()
            print("QQQQQQQQQQQQQQQQQQ")
            if Serve_count == 0:
                DynamicModel.get(DynamicModel.id == del_id).delete_instance()
                flash('删除成功')
            else:
                flash('该用户与相关客户存在着服务绑定关系,无法删除')
        except:
            flash('删除失败')
    ####根据不同的现有数据进行查询,接下来的一些实现中可以放宽需求。
    if len(this_id) and len(name) and len(branch):
        query = DynamicModel.select().where(
            (DynamicModel.id == this_id) & (DynamicModel.staffName == name)
            & (DynamicModel.branchName == branch))
    elif len(name):
        query = DynamicModel.select().where(DynamicModel.staffName == name)
    elif len(this_id):
        query = DynamicModel.select().where(DynamicModel.id == this_id)
    elif len(branch):
        query = DynamicModel.select().where(DynamicModel.branchName == branch)
    else:
        query = DynamicModel.select()
    total_count = query.count()
    #####重新组织好查询结果
    list = []
    for e in query:
        list.append(model_to_dict(e))
    dict = {'content': list}
    print(dict)
    return render_template(view,
                           form=dict,
                           form_search=form,
                           current_user=current_user)
示例#9
0
文件: views.py 项目: PdoraB/accbook
def common_edit(DynamicModel, form, view):
    id = request.args.get('id', '')
    if id:
        # 查询
        model = DynamicModel.get(DynamicModel.id == id)
        if request.method == 'GET':
            utils.model_to_form(model, form)
        # 修改
        if request.method == 'POST':
            if form.validate_on_submit():
                utils.form_to_model(form, model)
                model.save()
                flash('修改成功')
            else:
                utils.flash_errors(form)
    else:
        # 新增
        if form.validate_on_submit():
            model = DynamicModel()

            utils.form_to_model(form, model)

            if model.account_money != "":

                model.account_USD = round(
                    float(model.account_money) * change_rate("CNY", "USD"), 3)
                model.account_BYN = round(
                    float(model.account_money) * change_rate("CNY", "BYN"), 3)

            elif model.account_USD != "":
                model.account_money = round(
                    float(model.account_USD) * change_rate("USD", "CNY"), 3)
                model.account_BYN = round(
                    float(model.account_USD) * change_rate("USD", "BYN"), 3)
            elif model.account_BYN != "":
                model.account_USD = round(
                    float(model.account_BYN) * change_rate("BYN", "USD"), 3)
                model.account_money = round(
                    float(model.account_BYN) * change_rate("BYN", "CNY"), 3)

            model.save()
            flash('保存成功')
        else:
            utils.flash_errors(form)

    return render_template(view, form=form, current_user=current_user)
示例#10
0
def common_edit_bank(DynamicModel, form, view):
    # 查询是否在数据库中已经有了对应的条目
    if form.validate_on_submit():
        model = DynamicModel()
        form_to_model(form, model)
        dct = model_to_dict(model)
        name = dct['branchName']
        if DynamicModel.select().where(DynamicModel.branchName == name).count(
        ):  ###这一句话的含义是,通过查看对应的主码来判断是否存在对应的条目
            ####有了
            model.save()
            flash('修改成功')
        else:
            ###莫得
            DynamicModel.insert(dct).execute()
            flash('保存成功')
    else:
        flash_errors(form)
    return render_template(view, form=form, current_user=current_user)
示例#11
0
def common_edit_loan(DynamicModel, form, view):
    # 查询是否在数据库中已经有了对应的条目
    if form.validate_on_submit():
        model = DynamicModel()

        Loan_dict = dict()
        Loan_dict['branchName'] = request.form['branchName']
        Loan_dict['loanId'] = request.form["loanId"]
        Loan_dict['clientId'] = request.form["Related_Customer"]

        form_to_model(form, model)
        dct = model_to_dict(model)
        dct['branchName'] = dct['branchName']['branchName']
        id = dct['loanId']
        no_user = 0
        if OwnLoan.select().where(
            (OwnLoan.clientId == request.form['Related_Customer'])
                & (OwnLoan.loanId == request.form['loanId'])).count() == 0:
            ####如果说此时关系表中,用户和贷款的关系还没有被建立起来
            try:
                OwnLoan.insert(Loan_dict).execute()
                flash("插入贷款新拥有者成功!")
            except:
                flash('查无此用户!,不可插入新贷款拥有者!')
                no_user = 1
        if DynamicModel.select().where(DynamicModel.loanId == id).count():
            ###这一句话的含义是,通过查看对应的主码来判断是否存在对应的条目
            ####有了
            flash('不可修改已有贷款信息!')
        else:
            ###莫得
            if no_user == 0:
                print(dct)
                DynamicModel.insert(dct).execute()
                flash('保存成功')
    else:
        flash_errors(form)
    return render_template(view, form_search=form, current_user=current_user)
示例#12
0
def common_edit_grant(DynamicModel, form, view):
    # 查询是否在数据库中已经有了对应的条目
    if form.validate_on_submit():
        model = DynamicModel()
        form_to_model(form, model)
        dct = model_to_dict(model)
        loan_id = dct['loanId']
        branch = dct['branchName']
        all_count = dct['grantCount']
        print(dct)
        print(all_count)
        print(loan_id)
        select_count = DynamicModel.select().where(
            (DynamicModel.loanId == loan_id)
            & (DynamicModel.branchName == branch)
            & (DynamicModel.grantCount <= all_count)).count()
        #######查找所有的grantCount小于当前值的select
        print(select_count)
        if select_count == all_count:
            ###这一句话的含义是,如果查到的数据是完整的,如输入1,查出了0,表示小于等于1的没有,可以修改
            ####有了
            print("ASDF")
            ########当前发放的总额度数
            actual_money = 0
            actual_record = DynamicModel.select(
                DynamicModel.grantMoney).where(DynamicModel.loanId == loan_id)
            for k in actual_record:
                actual_money += model_to_dict(k)['grantMoney']
            print(actual_money)
            #######实际应当发放的总额度数
            total_money = Loan.select().where(Loan.loanId == loan_id)
            print(total_money.count())
            for e in total_money:
                money_dict = model_to_dict(e)
                branch_name = money_dict['branchName']['branchName']
                if branch_name == branch:
                    total_money = money_dict['loanAmount']
            try:
                if total_money < actual_money + dct['grantMoney']:
                    flash("修改失败,发放贷款的数额超过了可以发放的总额")
                else:
                    model.save()
                    flash('修改成功')
            except:
                flash("无法修改,无此支行或ID!")
        elif select_count == all_count - 1:  ######如果是顺序的
            ###莫得

            #######当前发放的总额度
            actual_money = 0
            actual_record = DynamicModel.select(
                DynamicModel.grantMoney).where(DynamicModel.loanId == loan_id)
            for k in actual_record:
                actual_money += model_to_dict(k)['grantMoney']
            print(actual_money)
            ######实际应当发放的总金额
            total_money = Loan.select().where(Loan.loanId == loan_id)
            print(total_money.count())
            for e in total_money:
                money_dict = model_to_dict(e)
                branch_name = money_dict['branchName']['branchName']
                if branch_name == branch:
                    total_money = money_dict['loanAmount']
            if total_money < actual_money + dct['grantMoney']:
                flash("插入失败,发放贷款的数额超过了可以发放的总额")
            else:
                DynamicModel.insert(dct).execute()
                flash('保存成功')
        else:
            flash("未按序发放贷款")
    else:
        flash_errors(form)
    return render_template(view, form_search=form, current_user=current_user)
示例#13
0
def common_list_grant(DynamicModel, form, view):
    # 接收参数
    del_id = request.args.get('id')  ####从html代码中得到删除的相关信息
    del_count = request.args.get('count')
    del_branch = request.args.get('bname')
    print(del_id)
    print(del_count)
    print(del_branch)
    print("FFFFFFFFFFFFFF")
    model = DynamicModel()
    form_to_model(form, model)
    dct = model_to_dict(model)  ####将model转化为dict,方便输出debug和输入
    this_id = dct['loanId']
    branch = dct['branchName']
    print(dct)
    if del_id != None and del_count != None:
        try:

            print("FFFFFFFF")
            models = DynamicModel.get(
                (DynamicModel.loanId == del_id)
                & (DynamicModel.grantCount == del_count)
                & (DynamicModel.branchName == del_branch)).delete_instance()
            counter = DynamicModel.select().where(
                (DynamicModel.loanId == del_id)
                & (DynamicModel.grantCount > del_count)
                & (DynamicModel.branchName == del_branch)).count()
            print(counter)
            up = DynamicModel.update(
                grantCount=DynamicModel.grantCount -
                1).where((DynamicModel.loanId == del_id)
                         & (DynamicModel.grantCount > del_count)
                         & (DynamicModel.branchName == del_branch))
            up.execute()

            flash('删除成功')
        except:
            flash('删除失败')
    ####根据不同的现有数据进行查询,接下来的一些实现中可以放宽需求。
    if len(this_id) and len(branch):
        query = DynamicModel.select().where(
            (DynamicModel.loanId == this_id)
            & (DynamicModel.branchName == branch))
    elif len(this_id):
        query = DynamicModel.select().where(DynamicModel.loanId == this_id)
    elif len(branch):
        query = DynamicModel.select().where(DynamicModel.branchName == branch)
    else:
        query = DynamicModel.select()
    total_count = query.count()
    #####重新组织好查询结果
    list = []
    for e in query:
        temp = model_to_dict(e)
        list.append(temp)
    dict = {'content': list}
    print(dict)
    return render_template(view,
                           form=dict,
                           form_search=form,
                           current_user=current_user)
示例#14
0
def common_list_loan(DynamicModel, form, view):
    # 接收参数
    del_id = request.args.get('id')  ####从html代码中得到删除的相关信息
    model = DynamicModel()
    form_to_model(form, model)
    dct = model_to_dict(model)  ####将model转化为dict,方便输出debug和输入
    this_id = dct['loanId']
    try:
        branchname = dct['branchName']['branchName']
    except:
        branchname = ''
    print(dct)
    if del_id != None:
        try:
            ####首先需要检查当前的贷款的发放次数是否已经到达了上限,如果发放次数大于零且小于上界,则证明还处于发放中。
            loan_info = Loan.get(Loan.loanId == del_id)  #####这个是当前的贷款信息
            loan_dict = model_to_dict(loan_info)
            total_num = loan_dict['payNum']
            actual_num = Grant1.select().where(Grant1.loanId == del_id).count()
            print(actual_num)
            if actual_num == 0 or total_num <= actual_num:
                DynamicModel.get(
                    DynamicModel.loanId == del_id).delete_instance()
                flash('删除成功')
            else:
                flash("贷款仍然在发放中,不可删除当前贷款信息!")
        except:
            flash('删除失败')
    ####根据不同的现有数据进行查询,接下来的一些实现中可以放宽需求。
    branch = Branch.select().where(Branch.branchName == branchname)
    if len(this_id) and len(branch):
        query = DynamicModel.select().where(
            (DynamicModel.loanId == this_id)
            & (DynamicModel.branchName == branch))
    elif len(this_id):
        query = DynamicModel.select().where(DynamicModel.loanId == this_id)
    elif len(branch):
        query = DynamicModel.select().where(DynamicModel.branchName == branch)
    else:
        query = DynamicModel.select()
    total_count = query.count()
    #####重新组织好查询结果
    list = []
    for e in query:
        temp = model_to_dict(e)
        temp['branchName'] = temp['branchName']['branchName']
        #####查询所有贷款的支付情况
        temp_id = temp['loanId']
        this_actual_num = Grant1.select().where(
            Grant1.loanId == temp_id).count()
        this_total_num = temp['payNum']
        if this_total_num == None:
            this_total_num = 0
        if this_actual_num == 0:
            state = '未支付'
        elif this_actual_num >= this_total_num:
            state = '支付完成'
        else:
            state = '支付中'
        temp['state'] = state
        ########以上为查询当前的贷款的状态
        list.append(temp)
    dict = {'content': list}
    return render_template(view,
                           form=dict,
                           form_search=form,
                           current_user=current_user)
示例#15
0
def common_edit_account(DynamicModel, form, view):
    # 查询是否在数据库中已经有了对应的条目
    if form.validate_on_submit():
        model = DynamicModel()
        ##### 保存账户关联信息的相关字典
        A_dict = dict()
        A_dict['branchName'] = form.data['branchName']
        A_dict['id'] = form.data['Related_Customer']
        print("AAAAAAAAAAAAAAAAK")
        print(form.data['branchName'])
        credit = 1
        try:
            print(form.data['creditLimit'])
        except:
            credit = 0
        print("BBBBBBBBB")
        if credit == 0:
            A_dict['depositAccountId'] = form.data['id']
            A_dict['chequeAccountId'] = 'ffff'
        else:
            A_dict['depositAccountId'] = 'ffff'
            A_dict['chequeAccountId'] = form.data['id']

        form_to_model(form, model)
        dct = model_to_dict(model)
        dct['branchName'] = dct['branchName']['branchName']
        id = dct['id']
        #**********************接下来,根据相关信息增加联系,联系只可能添加或者删除,不可能修改。********************
        #########首先查看该账户关系是否已经存在,如果已经存在,直接跳过并开始修改
        #########
        #######如果说查找该账户和该账户所有者,没有相关联系,那么就是还没建立起相关联系
        query = OpenAccount.select().where(
            (OpenAccount.branchName == form.data["branchName"])
            & (OpenAccount.id == form.data["Related_Customer"]))
        ######先查一下该客户在该行有没有存储/支票账户
        flag_cheque = 1
        flag_deposit = 1
        for e in query:
            temp = model_to_dict(e)
            if temp['chequeAccountId'] != 'ffff':  #####此时已经有了一个支票账户了
                print("有支票账户了!")
                flag_cheque = 0
            if temp['depositAccountId'] != 'ffff':  #####此时已经有了一个存储账户了
                print("有存储账户了!")
                flag_deposit = 0
        flag = 0
        no_user = 0
        print(credit)
        print(flag_deposit)
        if (flag_deposit and credit == 0) or (flag_cheque and credit):
            ##表明此时可能还能插对应的账户
            try:
                flag = 1  #####表明此时可以插入新的账户
                OpenAccount.insert(A_dict).execute()
            except:
                no_user = 1
                flash("无法插入账户,相关用户不存在于银行记录中!")
        else:  #########此时表明不可以继续插账户了
            flash("该用户不可继续增加账户")
        if DynamicModel.select().where(DynamicModel.id == id).count(
        ):  ###这一句话的含义是,通过查看对应的主码来判断是否存在对应的条目
            ####账户已经存在,则可以修改
            model.save()
            flash('修改成功')
        else:  ####如果说该账户尚未存在,且与该账户关联的用户已经达到了上限
            ###莫得
            if flag == 1 and no_user == 0:
                print(dct)
                DynamicModel.insert(dct).execute()
                flash('账户保存成功')
    else:
        flash_errors(form)
    return render_template(view, form_search=form, current_user=current_user)
示例#16
0
def common_edit_client(DynamicModel, form, view):
    # 查询是否在数据库中已经有了对应的条目
    if form.validate_on_submit():
        model = DynamicModel()
        ##### 保存服务信息的相关字典
        print("AAAAAAAAAAAAAAAAAAAAA")
        print(request.form["Related_Staff"])
        Serve_dict = dict()
        Serve_dict['clientId'] = request.form['id']
        Serve_dict['staffId'] = request.form["Related_Staff"]
        Serve_dict['ServiceType'] = request.form["Serve_Type"]
        #######得到了相关负责人的信息
        form_to_model(form, model)
        dct = model_to_dict(model)
        print("AAAAAAAAAAAAAA")
        id = dct['id']
        if DynamicModel.select().where(DynamicModel.id == id).count(
        ):  ###这一句话的含义是,通过查看对应的主码来判断是否存在对应的条目
            ####有了
            model.save()
            flash('修改成功')
        else:
            ###莫得,需要在Serve表中也插入相关信息。
            DynamicModel.insert(dct).execute()
            flash('保存成功')
        if Serve.select().where((Serve.clientId == request.form["id"]) & (
                Serve.ServiceType == request.form["Serve_Type"])).count() == 0:
            try:
                print("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")
                if Serve.select().where(
                    (Serve.clientId == request.form["id"])
                        & (Serve.staffId == request.form["Related_Staff"])
                ).count() == 0:
                    Serve.insert(Serve_dict).execute()
                else:
                    Serve.update(ServiceType=Serve_dict['ServiceType']).where(
                        (Serve.clientId == request.form["id"])
                        & (Serve.staffId == request.form["Related_Staff"])
                    ).execute()
            except:
                flash('查无此员工')
        else:
            try:
                Serve.get((Serve.clientId == request.form["id"])
                          & (Serve.ServiceType == request.form["Serve_Type"])
                          ).delete_instance()
                if Serve.select().where(
                    (Serve.clientId == request.form["id"])
                        & (Serve.staffId == request.form["Related_Staff"])
                ).count() == 0:
                    Serve.insert(Serve_dict).execute()
                else:
                    Serve.update(ServiceType=Serve_dict['ServiceType']).where(
                        (Serve.clientId == request.form["id"])
                        & (Serve.staffId == request.form["Related_Staff"])
                    ).execute()
            except:
                flash('查无此员工')

    else:
        flash_errors(form)
    return render_template(view, form=form, current_user=current_user)