Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-
- from django.db import models
- class Url(models.Model):
- url = models.URLField()
- active = models.BooleanField(default=False) # Si es la URL a usar
- date = models.DateTimeField() # Fecha en que se añade URL
- # Optativo:
- comments = models.TextField(blank=True, null=True)
- duration = models.IntegerField(blank=True, null=True) # Solo en canciones (seg.)
- def __unicode__(self):
- return self.url
- class Genre(models.Model):
- name = models.CharField(max_length=64) # Nombre del género
- # Optativo:
- bio = models.TextField(blank=True, null=True)
- similar = models.ManyToManyField(Genre, blank=True, null=True) # Géneros parecidos
- fathers = models.ManyToManyField(Genre, blank=True, null=True) # Se basa en...
- def __unicode__(self):
- return self.name
- class Artist(models.Model):
- name = models.CharField(max_length=64) # Nombre del grupo/artista
- # Optativo:
- photo = models.ManyToManyField(Url, blank=True, null=True) # Foto del grupo/artista
- date = models.DateField(blank=True, null=True) # Año/Década al que pertenece
- bio = models.TextField(blank=True, null=True)
- genre = models.ManyToManyField(Genre, blank=True, null=True) # Género musical
- def __unicode__(self):
- return self.name
- class ArtistStats(models.Model):
- name = models.ForeignKey(Artist)
- listened = models.IntegerField(default=0) # n. veces escuchado.
- favorite = models.BooleanField(default=False) # Si está marcada como favorita
- def __unicode__(self):
- return self.name
- class Album(models.Model):
- name = models.CharField(max_length=64) # Nombre del albúm
- artist = models.ManyToManyField(Artist)
- # Optativo:
- cover = models.ManyToManyField(Url, blank=True, null=True) # URL Carátula
- date = models.DateTimeField(blank=True, null=True) # Fecha publicación
- bio = models.TextField(blank=True, null=True)
- genre = models.ManyToManyField(Genre, blank=True, null=True) # Género musical
- def __unicode__(self):
- return self.name
- class AlbumStats(models.Model):
- name = models.ForeignKey(Album)
- listened = models.IntegerField(default=0) # n. veces escuchado.
- favorite = models.BooleanField(default=False) # Si está marcada como favorita
- def __unicode__(self):
- return self.name
- class Track(models.Model):
- name = models.CharField(max_length=128) # Nombre de canción
- url = models.ManyToManyField(Url)
- listened = models.IntegerField(default=0) # n. veces escuchado.
- album = models.ManyToManyField(Album) # Albúms a los que pertenece
- # Optativo:
- lyric = models.TextField(blank=True, null=True)
- genre = models.ManyToManyField(Genre, blank=True, null=True) # Género musical
- def __unicode__(self):
- return self.name
- class TrackStats(models.Model):
- name = models.ForeignKey(Track)
- listened = models.IntegerField(default=0) # n. veces escuchado.
- favorite = models.BooleanField(default=False) # Si está marcada como favorita
- def __unicode__(self):
- return self.name
- class User(models.Model):
- name = models.CharField(max_length=32) # Nombre de usuario
- url = models.ManyToManyField(Url)
- date = models.DateTimeField() # Desde cuando es miembro
- # Estadísticas
- trackstats = TrackStats(TrackStats, blank=True, null=True)
- albumstats = TrackStats(AlbumStats, blank=True, null=True)
- artiststats = TrackStats(ArtistStats, blank=True, null=True)
- # Optativo:
- avatar = models.URLField()
- comments = models.TextField(blank=True, null=True)
- email = models.EmailField(blank=True, null=True)
- def __unicode__(self):
- return self.name
- class PlaylistType(models.Model):
- name = models.CharField(max_length=32)
- public = models.BooleanField(default=False)
- open = models.BooleanField(default=False)
- def __unicode__(self):
- return self.name
- class PlaylistUser(models.Model):
- user = models.ForeignKey(User)
- ower = models.BooleanField(default=False)
- admin = models.BooleanField(default=False)
- def __unicode__(self):
- return self.user.name
- class Playlist(models.Model):
- name = models.CharField(max_length=64) # Nombre de playlist
- tracks = models.ManyToManyField(Track)
- date = models.DateTimeField() # Última revisión
- playlisttype = models.ForeignKey(PlaylistType)
- users = models.ManyToManyField(PlaylistUser)
- # Optativo:
- genre = models.ManyToManyField(Genre, blank=True, null=True) # Género musical
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement