from django.db import models class Artist(models.Model): """ An Artist of the label. Attributes: name: project / band name image: image file associated with this project """ name = models.CharField(max_length = 64) image = models.ImageField(upload_to = "artists") url_bandcamp = models.URLField(blank = True) url_soundcloud = models.URLField(blank = True) genre = models.CharField(max_length = 256) description = models.TextField(blank = True) def __str__(self): return self.name class Meta(object): ordering = ("name",) class Release(models.Model): """ A release (album, EP, ...) of the label. Each release has an associated number "ident" to use in the catalog. It has of course a title, several possible artists, and other informations. Attributes: ident: catalog number title: release title contributors: list of Artists who contributed to this release release_type: see below year: year of release cover: image file associated to this release Release types: full-length (0), EP (1), Split (2), Démo (3) """ ident = models.IntegerField() title = models.CharField(max_length = 256) contributors = models.ManyToManyField(Artist) release_type = models.IntegerField(default = 0) cover = models.ImageField(upload_to = "releases") year = models.IntegerField() embed = models.TextField(blank = True) description = models.TextField(blank = True) def __str__(self): return self.title class Meta(object): ordering = ("ident", "title")