Creacion de admin panel para lists

This commit is contained in:
Daniel Cortes
2020-07-14 15:03:47 -04:00
parent ce76f76dfb
commit c0ee9f06a2
2 changed files with 65 additions and 6 deletions

View File

@@ -13,35 +13,57 @@ class Entity(Model):
Pueden ser: artist, release-group, release o recording
"""
class Meta:
verbose_name = 'Entidad'
verbose_name_plural = 'Entidades'
ENTITY_TYPES = [
('artist', 'Artista'),
('release-group', 'Grupo de Lanzamientos'),
('release', 'Lanzamiento'),
('recording', 'Grabación')
]
mbid = CharField(max_length=36, primary_key=True)
entity_type = CharField(max_length=25, choices=ENTITY_TYPES)
mbid = CharField('mbid', max_length=36, primary_key=True)
entity_type = CharField('tipo', max_length=25, choices=ENTITY_TYPES)
def __str__(self):
return self.mbid
class Tag(Model):
"""Tag creada por un usuario"""
user = ForeignKey(User, on_delete=CASCADE, related_name='tags')
name = CharField(max_length=50)
name = CharField('nombre', max_length=50)
def __str__(self):
return self.name
class ListItem(Model):
"""Item de la lista de un usuario"""
class Meta:
verbose_name = 'item de lista'
verbose_name_plural = 'items de la lista'
stars_validators = [MinValueValidator(0), MaxValueValidator(5)]
user = ForeignKey(User, on_delete=CASCADE, related_name='list')
entity = ForeignKey(Entity, on_delete=CASCADE)
stars = IntegerField(default=0, validators=stars_validators, blank=True)
opinion = TextField(default='', blank=True)
stars = IntegerField('estrellas', default=0, validators=stars_validators, blank=True)
opinion = TextField('opinion', default='', blank=True)
tags = ManyToManyField(Tag, related_name='list', blank=True)
def __str__(self):
return f'{self.user.username}:{self.entity.mbid}'
class OpinionHelpful(Model):
"""Voto sobre una opinion"""
class Meta:
verbose_name = 'valoración de opinion'
verbose_name_plural = 'valoraciones de opinion'
VOTES = [
('Y', 'Si'),
('N', 'No'),
@@ -50,4 +72,7 @@ class OpinionHelpful(Model):
user = ForeignKey(User, on_delete=CASCADE)
opinion = ForeignKey(ListItem, on_delete=CASCADE)
vote = CharField(max_length=1, choices=VOTES)
vote = CharField('voto', max_length=1, choices=VOTES)
def __str__(self):
return f'{self.vote}'