moedelform 编辑时候重复字段文字怎么处理 需要排除自己

image

点击查看代码
def hostmem_edit(request,mem_name):
    """主机组编辑"""
    row_obj = HostMem.objects.filter(mem_name=mem_name).first()
    if  not row_obj:
        return redirect('/hostmem/list/')
    if request.method == "POST":
        form = ModelForm.HostMemEditModelForm(instance=row_obj, data=request.POST)
        if form.is_valid():
            ###排除编辑的自己
            mem_name_post=request.POST.get('mem_name',None)
            #在post数据中获取组名在原来的数据里面查询是否存在
            #存在就不能改名  否则可以修改
            exsits = HostMem.objects.filter(mem_name=mem_name_post).first()
            if exsits:
                form.add_error('mem_name', '修改之后的组已经存在,请修改其他组名')
                return render(request, 'hostmem_edit.html', {"form": form})
            form.save()
            return redirect('/hostmem/list/')
        ##数据不合法
        return render(request, 'hostmem_edit.html', {"form": form})
    ###get请求
    form = ModelForm.HostMemEditModelForm(instance=row_obj)
    return render(request, 'hostmem_edit.html', {"form": form})

image

只能为空否则无法修改

posted @ 2023-03-06 21:53  昆仑葫芦  阅读(0)  评论(0)    收藏  举报