Django:update并没有将记录保存到数据库中

时间:2017-11-22 00:09:00

标签: python django django-models

def registrar(request):
    form = RegForm(request.POST or None)
    context = {
        "form":form
    }
    if request.method == 'POST':
        form = RegForm(request.POST)
        if form.is_valid():
            b = form.cleaned_data['folioboleto']
            n = form.cleaned_data['nombre']
            aP = form.cleaned_data['apellidoPaterno']
            aM = form.cleaned_data['apellidoMaterno']
            fecha = form.cleaned_data['fechaDeNacimiento']
            g = form.cleaned_data['genero']
            e = form.cleaned_data['email']
            tel = form.cleaned_data['telefono']
            di = form.cleaned_data['direccion']
            c = form.cleaned_data['ciudad']
            est = form.cleaned_data['estado']
            actP = form.cleaned_data['actividadPrincipal']
            cSE = form.cleaned_data['comoSupoEvento']
            aF = form.cleaned_data['aceptoFotos']

            obj = Cliente.objects.create(Nombre=n,ApellidoPaterno=aP,ApellidoMaterno=aM,FechaDeNacimiento=fecha,Genero=g,Email=e,Telefono=tel,Direccion=di,Ciudad=c,Estado=est,ActividadPrincipal=actP,ComoSupoEvento=cSE,AceptoFotos=aF)

            bole = Boleto.objects.get(Folio=b)
            if bole.Folio == b:
                bole.Estatus = '2'
                bole.Cliente_id = obj.id 
                bole.save(update_fields=['Estatus'])

对象bole保存方法不会将更改保存到数据库中。

1 个答案:

答案 0 :(得分:3)

我相信你的问题是bole.save(update_fields=['Estatus']),它只会更新名为Estatus的字段,而这个字段似乎没有被设置。请尝试使用裸保存:

bole.save()
祝你好运!