models.py
2.42 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
from django.db import models
from uuid import uuid4
from .constants import STATUS_CHOICE, MONEDA
from usuario.models import Usuario
# Create your models here.
class Precio (models.Model):
precio_palabra = models.FloatField(max_length=50, blank=False, null=False)
vigencia_desde = models.DateField()
vigencia_hasta = models.DateField()
usuario = models.ForeignKey(Usuario, on_delete=models.CASCADE)
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)
class Meta:
verbose_name = 'Precio'
verbose_name_plural = 'Precios'
def __str__(self):
return self.moneda
class Edicto(models.Model):
uuid = models.UUIDField(unique=True, editable=False, default=uuid4)
usuario = models.ForeignKey(Usuario, on_delete=models.CASCADE, verbose_name='Usuario')
cuerpo_edicto = models.TextField(blank=False, null=False)
archivo = models.FileField(upload_to="uploads/%Y/%m/%d/", null=False, blank=False)
dias_publicar = models.PositiveIntegerField(blank=False, null=False)
cantidad_sellos = models.PositiveIntegerField(blank=False, null=False)
estado = models.CharField(max_length=150, choices=STATUS_CHOICE, default='iniciado')
cantidad_palabras = models.IntegerField(blank=False, null=False)
cantidad_copias = models.PositiveIntegerField(blank=False, null=False)
fecha_publicacion = models.DateField(blank=True, null=True)
observaciones = models.CharField(max_length=500, blank=True, null=True)
fecha_creacion = models.DateField(auto_now_add=True)
fecha_modificacion = models.DateTimeField(auto_now_add=True)
class Meta:
verbose_name = 'Edicto'
verbose_name_plural = 'Edictos'
def __str__(self):
return f"{self.uuid} - Edicto"
class ComprobantePago(models.Model):
monto = models.FloatField(blank=False, null=False)
numero_comprobante = models.CharField(max_length=300, blank=False, null=True)
fecha_pago = models.DateField(blank=False, null=True)
edicto = models.OneToOneField(Edicto, on_delete=models.CASCADE)
archivo_comprobante = models.FileField(blank=False, null=True)
class Meta:
verbose_name = 'ComprobantePago'
verbose_name_plural = 'ComprobantesPagos'
def __str__(self):
return f"{self.numero_comprobante} comprobante pago de {self.edicto.uuid}"