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)
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
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))