models.py
1.89 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 django.core.validators import FileExtensionValidator
from organismo.models import Organismo, Dependencia
# Create your models here.
class Evento(models.Model):
class Meta:
ordering = 'titulo', 'categoria'
verbose_name = 'Evento'
verbose_name_plural = 'Eventos'
organismo = models.ManyToManyField(
Organismo,
related_name='evento_organismo',
blank=True
)
dependencia = models.ManyToManyField(
Dependencia,
related_name='evento_dependencia',
blank=True
)
fecha_inicio = models.DateField(verbose_name='Fecha de inicio del evento')
hora_inicio = models.TimeField(blank=True, verbose_name='Hora de apertura')
hora_fin = models.TimeField(blank=True, verbose_name='Hora de cierre')
fechas = models.ManyToManyField(
'FechaEvento',
related_name='evento_fechas',
blank=False,
verbose_name='Días disponibles',
)
titulo = models.CharField(max_length=350, null=False)
categoria = models.SlugField(max_length=150, null=False)
direccion = models.URLField(max_length=150, verbose_name='ubicación')
descripcion = models.TextField(null=False, verbose_name='Descripción')
url = models.URLField(
max_length=300,
blank=True,
verbose_name='Dirección Web'
)
imagen = models.ImageField(
upload_to='static/eventos',
validators=[FileExtensionValidator(allowed_extensions=['jpg', 'png'])],
blank=True,
verbose_name='Banner promocional'
)
def __str__(self):
return f'{self.titulo} - {self.descripcion}'
class FechaEvento(models.Model):
class Meta:
verbose_name = 'Fecha del Eventos'
verbose_name_plural = 'Fechas del Eventos'
dia_evento = models.DateField(verbose_name='Días del evento')
def __str__(self):
return f'{self.dia_evento}'