Ver Mensaje Individual
  #4 (permalink)  
Antiguo 28/04/2015, 16:32
Avatar de alrvivas
alrvivas
 
Fecha de Ingreso: febrero-2012
Ubicación: Sahuayo,Mich., México
Mensajes: 11
Antigüedad: 12 años, 10 meses
Puntos: 0
De acuerdo Respuesta: Ingresar multiples registros a mi BD con un solo form

Cita:
Iniciado por alrvivas Ver Mensaje
razpeitia gracias e intentado con formsets ( modelformset_factory e inlineformset_factory ) y e podido guardar n cantidad de registros pero me muestra todos los registros anteriores que e almacenado. y la idea es solo mostrar campos nuevos. si pudieras indicarme el camino o ejemplificarme te lo agradecería

view.py
Código PHP:
from django.forms.models import modelformset_factory  
def add_producto_saldo
(request): 
    
producto Product.objects.order_by('categoria''orden'
    
saldo SaldoAnterior.objects.all() 
    
ProductoSaldoFormSet modelformset_factory(ProductoSaldo)    
    if 
request.method == 'POST':
        
formset ProductoSaldoFormSet(request.POSTrequest.FILES)
        if 
formset.is_valid():
            
saldo formset.save(commit False)
            
saldo .save()
            return 
redirect('exito')
    else:
        
formset VentaProductoFormSet()
    
page_title "Capturar Productos" 
    
template "add-producto-saldo.html" 
    
return render_to_response(templatelocals(), context_instance=RequestContext(request)) 
add-producto-saldo.html
Código HTML:
<form method="post" action="">
   {% csrf_token %}
   {{ formset.management_form }}
    <table>
    {% for form in formset %}
        {{ form }}
    {% endfor %}
    </table>
    <button type="submit" id="comment-button" class="btn " name="_save">Continuar</button>
</form> 
Aprendiendo un poquito mas me di cuenta de que el modelformset_factory es el equivalente a objects.all() por lo cual me mandaba todos mis registros anteriores, por lo cual solucione solo modificando una sola linea

Código PHP:
from django.forms.models import modelformset_factory  
def add_producto_saldo
(request): 
    
producto Product.objects.order_by('categoria''orden'
    
saldo SaldoAnterior.objects.all() 
    
ProductoSaldoFormSet modelformset_factory(ProductoSaldo)    
    if 
request.method == 'POST':
        
formset ProductoSaldoFormSet(request.POSTrequest.FILES)
        if 
formset.is_valid():
            
saldo formset.save(commit False)
            
saldo .save()
            return 
redirect('exito')
    else:
        
formset VentaProductoFormSet(queryset=VentaProducto.objects.none())"""Aqui modifique"""
    
page_title "Capturar Productos" 
    
template "add-producto-saldo.html" 
    
return render_to_response(templatelocals(), context_instance=RequestContext(request)) 
Gracias razpeitia por orientarme