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 self.name
+ 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)
order = models.IntegerField()
def __unicode__(self):
- return self.artist.name
+ return self.artist.__unicode__()
+
+ class Meta:
+ ordering = ['order']
class RemixArtist(models.Model):
track = models.ForeignKey('Track')
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)
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)