Files
musiclist-server/lists/models.py
Daniel Cortes 3568abfbc7 Commit inicial
Habia trabajado un buen poco pero como vi que tenia que separar los
repositorios perdi bastante la historia :c
2020-05-22 00:05:27 -04:00

52 lines
1.4 KiB
Python

from django.contrib.auth.models import User
from django.db.models import CharField, TextField, IntegerField
from django.db.models import ForeignKey, ManyToManyField
from django.db.models import CASCADE
from django.db.models import Model
class Entity(Model):
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)
class Tag(Model):
user = ForeignKey(User, on_delete=CASCADE)
name = CharField(max_length=50)
class ListItem(Model):
user = ForeignKey(User, on_delete=CASCADE)
entity = ForeignKey(Entity, on_delete=CASCADE)
tags = ManyToManyField(Tag, on_delete=CASCADE)
class Stars(Model):
user = ForeignKey(User, on_delete=CASCADE)
entity = ForeignKey(ListItem, on_delete=CASCADE)
quantity = IntegerField()
class Opinion(Model):
user = ForeignKey(User, on_delete=CASCADE)
entity = ForeignKey(ListItem, on_delete=CASCADE)
opinion_text = TextField()
class OpinionHelpful(Model):
VOTES = [
('Y', 'Si'),
('N', 'No'),
('F', 'Divertida')
]
user = ForeignKey(User, on_delete=CASCADE)
opinion = ForeignKey(Opinion, on_delete=CASCADE)
vote = CharField(max_length=1, choices=VOTES)