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

Buenas tardes tengo una cuestión que realizarles, mi caso es un poco especial, por así llamarlo.
Requiero de un formulario que registre n cantidad de productos a un modelo llamado SaldoAnterior esto para un control de inventario muy especifico donde se necesita comparar día a día el saldo anterior de todos los productos. ¿Alguna idea de como generar esto ?

este es mi código para ese modulo, y solo me guarda el ultimo producto con su cantidad

models.py

Código PHP:
from django.db import models
from producto
.models import Product

class SaldoAnterior(models.Model):
    
fecha_creacion = models.DateTimeField(auto_now_add=True)
    
saldo_total = models.DecimalField(max_digits=10, decimal_places=3, null=True, blank=True)
    
saldo_totalpeso = models.DecimalField(max_digits=10, decimal_places=3, null=True, blank=True)

    
def __unicode__(self):
        return 
unicode(self.id)


class 
ProductoSaldo(models.Model):
    
saldo= models.ForeignKey(SaldoAnterior)
    
producto = models.ForeignKey(Product)
    
cantidad = models.DecimalField(max_digits=10, decimal_places=3, null=True, blank=True)
    
linea_subtotal = models.DecimalField(max_digits=10, decimal_places=3, null=True, blank=True)
    
linea_subtotalpeso = models.DecimalField(max_digits=30, decimal_places=3, null=True, blank=True) 
forms.py

Código PHP:
# encoding:utf-8
from django import forms
from 
.models import *


class 
saldoanteriorForm(forms.ModelForm):
    class 
Meta:
        
model = SaldoAnterior


class productosaldoForm(forms.ModelForm):
    class 
Meta:
        
model = ProductoSaldo 
views.py


Código PHP:
from django.shortcuts import  render_to_response, redirect
from django
.template import RequestContext
from django
.contrib.auth.decorators import login_required
from django
.core.context_processors import csrf

from producto
.models import Product
from 
.models import ProductoSaldo, SaldoAnterior
from cliente
.models import Cliente
from 
.forms import saldoanteriorForm, productosaldoForm

@login_required(login_url='/login/')
def add_producto_saldo(request):
    
producto = Product.objects.order_by('categoria', 'orden')
    
saldo = SaldoAnterior.objects.all()
    
producto_saldo = ProductoSaldo.objects.all()
    if 
request.POST:
        
form = productosaldoForm(request.POST)
        if 
form.is_valid():
            for 
item in producto:
                
producto_saldo = form.save()
                
producto_saldo .producto = item
                producto_saldo 
.save()
            return 
redirect('generacion-exitosa')
    else:
        
form = productosaldoForm()
    
args = {}
    
args.update(csrf(request))
    
page_title = "Capturar Productos"
    
template = "add-producto-saldo.html"
    
return render_to_response(template, locals(), context_instance=RequestContext(request))


@
login_required(login_url='/login/')
def crear_orden(request):
    
saldo = SaldoAnterior.objects.all()
    if 
request.POST:
        
form = saldoanteriorForm(request.POST)
        if 
form.is_valid():
            
saldo = form.save(commit=False)
            
saldo .save()
            return 
redirect('add-producto-saldo')
    else:
        
form = saldoanteriorForm()
    
args = {}
    
args.update(csrf(request))
    
page_title = "Generar saldo"
    
template = "generar-saldo.html"
    
return render_to_response(template, locals(), context_instance=RequestContext(request)) 
de antemano muchas gracias por sus aportes