Stars y Opinion se incluyeron en ListItem
Esto porque al final eran relaciones 1 a 1 y era preferible que estuvieran incluidos en un solo modelo, de esta forma hay menos llamadas a la base de datos desde la api y una api mas simple de realizar y llamar Realmente el unico modelo que quedo "extraño" es el de opinion helpfull que tendra que pasar a ser ... listitemhelpful? pero el nombre opinionhelpful es mas coherente
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
"""Definición de los modelos que utilizara la aplicación Lists"""
|
||||
from django.core.validators import MinValueValidator, MaxValueValidator
|
||||
|
||||
from users.models import User
|
||||
from django.db.models import CharField, TextField, IntegerField
|
||||
from django.db.models import ForeignKey, ManyToManyField
|
||||
@@ -29,25 +31,15 @@ class Tag(Model):
|
||||
|
||||
class ListItem(Model):
|
||||
"""Item de la lista de un usuario"""
|
||||
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)
|
||||
tags = ManyToManyField(Tag, related_name='list', blank=True)
|
||||
|
||||
|
||||
class Stars(Model):
|
||||
"""Estrellas que un usuario le asigno a una entidad"""
|
||||
user = ForeignKey(User, on_delete=CASCADE)
|
||||
entity = ForeignKey(ListItem, on_delete=CASCADE)
|
||||
quantity = IntegerField()
|
||||
|
||||
|
||||
class Opinion(Model):
|
||||
"""Opinion de un usuario sobre una entidad"""
|
||||
user = ForeignKey(User, on_delete=CASCADE)
|
||||
entity = ForeignKey(ListItem, on_delete=CASCADE)
|
||||
opinion_text = TextField()
|
||||
|
||||
|
||||
class OpinionHelpful(Model):
|
||||
"""Voto sobre una opinion"""
|
||||
VOTES = [
|
||||
@@ -57,5 +49,5 @@ class OpinionHelpful(Model):
|
||||
]
|
||||
|
||||
user = ForeignKey(User, on_delete=CASCADE)
|
||||
opinion = ForeignKey(Opinion, on_delete=CASCADE)
|
||||
opinion = ForeignKey(ListItem, on_delete=CASCADE)
|
||||
vote = CharField(max_length=1, choices=VOTES)
|
||||
|
||||
Reference in New Issue
Block a user