Creacion de admin panel para lists
This commit is contained in:
@@ -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}'
|
||||
|
||||
Reference in New Issue
Block a user