85 lines
4.0 KiB
Python

from django.db import models
class Articulo(models.Model):
articulo = models.CharField(max_length=300, verbose_name="Articulo")
description = models.TextField(null=True , verbose_name="Descripcion")
marca = models.CharField(max_length=300, verbose_name="Marca", blank=True)
modelo = models.CharField(max_length=300, verbose_name="Modelo", blank=True)
serial = models.CharField(max_length=300, verbose_name="Serial")
unidad_medida = models.CharField(max_length=100, verbose_name="Unidad de Medida")
fecha = models.DateField(auto_now_add=True)
fecha_registro = models.CharField(max_length=300, verbose_name="Fecha")
cantidad = models.IntegerField(default=0)
precio = models.DecimalField(max_digits=6, decimal_places=2)
def __str__(self):
return f"{self.articulo}-{self.marca}-{self.modelo}-{self.serial}-{self.unidad_medida}-{self.fecha_registro}"
def total(self):
return self.cantidad * self.precio
class Comprobante(models.Model):
e_o_s = models.CharField(max_length=300, verbose_name="Condicion", null=True)
conceptos = models.CharField(max_length=300, verbose_name="Concepto", null=True)
observaciones = models.TextField(null=True)
concepto_movimiento = models.IntegerField(default=0, null=True)
numero_movimiento = models.IntegerField(default=0, null=True)
grupo = models.IntegerField(default=0, null=True)
subgrupo = models.IntegerField(default=0, null=True)
def __str__(self):
return f"{self.e_o_s} - {self.conceptos}"
class Unidad(models.Model):
nombreUnidad = models.CharField(max_length=200, verbose_name="Nombre de la Unidad")
comandante = models.CharField(max_length=200, verbose_name="Comandante")
ubicacion = models.TextField(null=True)
telefono = models.CharField(max_length=200, verbose_name="telefono")
articulos = models.ManyToManyField(Articulo, through="ArticuloUnidad")
def __str__(self):
return f'{self.nombreUnidad} - {self.telefono}- {self.comandante}'
class ArticuloUnidad(models.Model):
articulo = models.ForeignKey(Articulo, on_delete=models.CASCADE)
unidad = models.ForeignKey(Unidad, on_delete=models.CASCADE)
comprobante = models.ForeignKey(Comprobante, on_delete=models.SET_NULL, null=True)
marca = models.CharField(max_length=300, verbose_name="Marca")
modelo = models.CharField(max_length=300, verbose_name="Modelo")
serial = models.CharField(max_length=300, verbose_name="Serial")
movimiento = models.CharField(max_length=200)
description = models.TextField(null=True, verbose_name="Descripcion")
unidad_medida = models.CharField(max_length=100, verbose_name="Unidad de Medida")
fecha_salida = models.DateField(auto_now_add=True)
cantidad = models.IntegerField(default=0)
precio = models.DecimalField(max_digits=6, decimal_places=2)
def __str__(self):
return f"{self.articulo} - {self.precio} - {self.serial}- {self.marca}- {self.modelo} - {self.comprobante}"
def total(self):
return self.cantidad * self.precio
class PruebaUnidad(models.Model):
articulo = models.ForeignKey(Articulo, on_delete=models.CASCADE)
unidad = models.ForeignKey(Unidad, on_delete=models.CASCADE)
comprobante = models.CharField(max_length=100)
marca = models.CharField(max_length=300, verbose_name="Marca")
modelo = models.CharField(max_length=300, verbose_name="Modelo")
serial = models.CharField(max_length=300, verbose_name="Serial")
movimiento = models.CharField(max_length=200)
unidad_medida = models.CharField(max_length=100, verbose_name="Unidad de Medida")
fecha_salida = models.DateField(auto_now_add=True)
cantidad = models.IntegerField(default=0)
description = models.TextField(null=True, verbose_name="Descripcion")
precio = models.DecimalField(max_digits=6, decimal_places=2)
def __str__(self):
return f"{self.articulo} - {self.precio} - {self.serial}- {self.marca}- {self.modelo}- {self.comprobante}"
def total(self):
return self.cantidad * self.precio