Updated models database and string representations

parent ae78e625
...@@ -5,9 +5,11 @@ from django.urls import reverse ...@@ -5,9 +5,11 @@ from django.urls import reverse
class Artist(models.Model): class Artist(models.Model):
artist_name = models.CharField(max_length=100) artist_name = models.CharField(max_length=100)
monthly_listeners = models.IntegerField() monthly_listeners = models.IntegerField()
birth_name = models.CharField(max_length=100)
bio = models.TextField(max_length=700)
def __str__(self): def __str__(self):
return '{} with {} monthly listeners'.format(self.artist_name, self.monthly_listeners) return '{}'.format(self.artist_name)
def get_absolute_url(self): def get_absolute_url(self):
return reverse('artist_detail', args=[str(self.artist_name)]) return reverse('artist_detail', args=[str(self.artist_name)])
...@@ -18,10 +20,11 @@ class Album(models.Model): ...@@ -18,10 +20,11 @@ class Album(models.Model):
artist = models.ForeignKey(Artist, on_delete=models.CASCADE) artist = models.ForeignKey(Artist, on_delete=models.CASCADE)
description = models.CharField(max_length=300) description = models.CharField(max_length=300)
release_date = models.DateField() release_date = models.DateField()
label = models.CharField(max_length=100)
song_count = models.IntegerField()
def __str__(self): def __str__(self):
return '{} by {} released on {}. {}'.format(self.album_name, self.artist return '{}'.format(self.album_name)
,self.release_date,self.description)
def get_absolute_url(self): def get_absolute_url(self):
return reverse('album_detail', args=[str(self.album_name)]) return reverse('album_detail', args=[str(self.album_name)])
...@@ -32,10 +35,11 @@ class Song(models.Model): ...@@ -32,10 +35,11 @@ class Song(models.Model):
artist = models.ForeignKey(Artist, on_delete=models.CASCADE) artist = models.ForeignKey(Artist, on_delete=models.CASCADE)
album = models.ForeignKey(Album, on_delete=models.CASCADE) album = models.ForeignKey(Album, on_delete=models.CASCADE)
song_length = models.DurationField() song_length = models.DurationField()
music_video = models.BooleanField()
lyrics = models.TextField()
def __str__(self): def __str__(self):
return '{} from {} by {} is {} long'.format(self.song_title, self.album, return '{}'.format(self.song_title)
self.artist, self.song_length)
def get_absolute_url(self): def get_absolute_url(self):
return reverse('song_detail', args=[str(self.song_title)]) return reverse('song_detail', args=[str(self.song_title)])
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment