[pyar] Django, sistema de stock y como meto una funcion en el admin para comprobar la cantidad de 'n' que tengo ?

Daniel dmlistapython en gmail.com
Mar Jun 21 09:57:46 ART 2011


2011/6/21 Emiliano Dalla Verde Marcozzi <edvm en airtrack.com.ar>

> Buenas querida lista,
> Estoy haciendo un sistemita de stock con Django 1.3.0 final y por aca tengo
> mi models:
>
> from django.db import models
>
>
> class Unidad(models.Model):
>
> """ Una unidad tiene:
>
> - un nombre definido por el usuario, ej: unidad-1
>
> - un rack al que pertenece
>
> """
>
>  nombre = models.CharField(max_length=50, unique=True)
>
> producto = models.ForeignKey(Producto, blank=True, null=True)
>
> cantidad_de_producto = models.IntegerField(blank=True, null=True)
>
> cantidad_maxima_de_productos = models.IntegerField(blank=True, null=True)
>
> disponible = models.IntegerField(blank=True, null=True)
>
> en_rack = models.ForeignKey(Rack)
>
>  def __unicode__(self):
>
> return 'Unidad: %s, %s' % (self.nombre, self.en_rack)
>
>
> Mi duda es, como puedo hacer para que cuando en el admin de Django
> agregan/editan la
> cantidad_de_producto, crear una funcion o algo que antes de guardar,
> verifique por ejemplo,
> si cantidad_de_producto es <= cantidad_maxima_de_productos ?
> Por el momento, solo se me ocurre que puedo crear un formulario y en una
> view manejar
> esta logica de si por ejemplo, la cantidad de producto que va a agregar
> sumada a la cantidad
> existente de producto en la Unidad es <= a la cantidad maxima, pero por ahi
> hay una forma
> mas rapida de hacer esto con el admin de django ? porque me vendria barbaro
> !
> Gracias de antemano,
>
>
en el admin.py, dentro de class UnidadAdmin
ponés
    def save_model(self, request, obj, form, change):

hacés las validaciones que quieras, después

        obj.save()
        return super(UnidadAdmin, self).save_model(request, obj, form,
change)

a mi me dió un poco de trabajo pero con eso anduvo

-- 
Daniel Malisani
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20110621/04587f27/attachment.html>


More information about the pyar mailing list