X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=data%2Fmodels.py;h=da15ab5b9ed74d41d4709d322189aa2ca8c32482;hb=refs%2Fheads%2Fv2;hp=5e0cc940d99852398e80e1567434f488243eae68;hpb=4e8fed607395bf793b416746dd82fd6e4fd38c3c;p=demoscenemusic.git diff --git a/data/models.py b/data/models.py index 5e0cc94..da15ab5 100644 --- a/data/models.py +++ b/data/models.py @@ -12,10 +12,10 @@ class Group(models.Model): class Artist(models.Model): name = models.CharField(max_length = 80) realName = models.CharField(max_length = 80, blank = True) - groups = models.ManyToManyField(Group) + groups = models.ManyToManyField(Group, blank = True) def __unicode__(self): - return "%s%s" % (self.name, (" / %s" % (" ^ ".join(g.shortName if (g.shortName != '') else g.name for g in self.groups.all()), ))) + return "%s%s" % (self.name, (" / %s" % (" ^ ".join(g.shortName if (g.shortName != '') else g.name for g in self.groups.all()), )) if (self.groups.all()) else '') class Party(models.Model): name = models.CharField(max_length = 80) @@ -46,7 +46,7 @@ class TrackArtist(models.Model): order = models.IntegerField() def __unicode__(self): - return self.artist.name + return self.artist.__unicode__() class Meta: ordering = ['order'] @@ -57,14 +57,21 @@ class RemixArtist(models.Model): order = models.IntegerField() def __unicode__(self): - return self.artist.name + return self.artist.__unicode__() class Meta: ordering = ['order'] +class Style(models.Model): + name = models.CharField(max_length = 80) + + def __unicode__(self): + return self.name + class Track(models.Model): name = models.CharField(max_length = 150) artists = models.ManyToManyField(Artist, through = TrackArtist) + styles = models.ManyToManyField(Style, blank = True) remix = models.CharField(max_length = 80, blank = True) remixArtists = models.ManyToManyField(Artist, through = RemixArtist, related_name = 'remixTracks') releases = models.ManyToManyField(Release) @@ -73,7 +80,7 @@ class Track(models.Model): def __unicode__(self): #return '%s – %s%s' % (' & '.join(self.artists), self.name, (('%s by %s' % (self.remix, ' & '.join(self.remixArtists) + ')')) if (self.remix != '') else '')) - return u'{1} – {0}'.format(self.name, ' & '.join(a.name for a in self.artists.all())) + return u'{1} – {0}'.format(self.name, ' & '.join(a.artist.__unicode__() for a in self.trackartist_set.all())) class File(models.Model): track = models.ForeignKey(Track)