2017-11-22 18 views
1
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保存メソッドはデータベースに変更を保存していません。Django:更新はデータベースにレコードを保存していません

答えて

3

あなたの問題はbole.save(update_fields=['Estatus'])であると思われます。この問題は、設定されていないようなEstatusというフィールドのみを更新します。代わりに裸のセーブを使用してください:

bole.save() 

幸運を祈る!

+0

データを保存せずに続行します。 Client_idが外部キーであるため、BoletoオブジェクトをEstatusとClient_idの2つのフィールドで更新します。 –

+0

bole = Boleto.objects.filter(Folio = b).update(Estatus = '2'、Cliente_id = obj.id) –

+0

あなたのモデルを見るのに役立ちますが、これはしばしば混乱の原因です。 'ForeignKey'の場合、idではなくオブジェクトインスタンスを指します。 'Boleto'モデルで' cliente = models.ForeignKey(Cliente) 'と定義しておけば' bole.cliente = obj'を試してみてください。 – FlipperPA

関連する問題