models.py
2.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
from uuid import uuid4
from django.db import models
from usuario.models import Usuario
from .constants import STATUS_CHOICE, MONEDA
# Create your models here.
class Precio(models.Model):
precio = models.FloatField(max_length=50, blank=False, null=False, editable=False)
vigencia_desde = models.DateField()
vigencia_hasta = models.DateField(blank=True, null=True)
usuario = models.ForeignKey(Usuario, on_delete=models.CASCADE, editable=False)
moneda = models.CharField(max_length=50, blank=False, null=False, choices=MONEDA,
default='peso_argentino')
precio_ejemplar = models.FloatField(max_length=50, blank=False, null=False)
precio_dia = models.FloatField(max_length=50, blank=False, null=False)
class Meta:
verbose_name = 'Precio'
verbose_name_plural = 'Precios'
def __str__(self):
return self.moneda
class Edicto(models.Model):
class Meta:
verbose_name = 'Edicto'
verbose_name_plural = 'Edictos'
uuid = models.UUIDField(unique=True, editable=False, default=uuid4)
cuerpo_edicto = models.TextField(blank=False)
archivo = models.FileField(upload_to="uploads/%Y/%m/%d/")
dias_publicar = models.PositiveIntegerField()
cantidad_sellos = models.PositiveIntegerField()
estado = models.CharField(max_length=23, choices=STATUS_CHOICE, default='iniciado')
cantidad_palabras = models.IntegerField(editable=False)
cantidad_copias = models.PositiveIntegerField()
observaciones = models.CharField(max_length=500, blank=True)
fecha_publicacion = models.DateField(blank=True, null=True)
fecha_creacion = models.DateField(auto_now_add=True, editable=False)
fecha_modificacion = models.DateTimeField(auto_now=True, editable=False)
creado_por = models.ForeignKey(Usuario, on_delete=models.CASCADE, editable=False)
modificado_por = models.ForeignKey(
Usuario, on_delete=models.CASCADE, related_name='update_edicto', editable=False
)
tiene_descuento = models.BooleanField(editable=False)
def __str__(self):
return f"{self.creado_por} - Edicto"
class ComprobantePago(models.Model):
class Meta:
verbose_name = 'ComprobantePago'
verbose_name_plural = 'ComprobantesPagos'
monto_subtotal = models.FloatField(editable=False, null=True)
monto_total = models.FloatField(editable=False, null=True)
monto_descuento = models.FloatField(editable=False, null=True)
numero_comprobante = models.CharField(max_length=300, blank=True, null=True)
fecha_pago = models.DateTimeField(blank=True, null=True)
edicto = models.OneToOneField(Edicto, on_delete=models.CASCADE, editable=False)
archivo = models.FileField(upload_to="uploads/%Y/%m/%d/", blank=True)
def __str__(self):
return f"{self.numero_comprobante} - ComprobantePago"