Commit de8d093d authored by Raul Jarod Conanan's avatar Raul Jarod Conanan

Merge branch 'lab02' into 'master'

Lab02

See merge request !1
parents 1e6b7043 6962f769
CONANAN, Raul Jarod C., 211591, BSMS CS, E; CONANAN, Raul Jarod C., 211591, BSMS CS, E;
Lab 01: Song Library; Lab 02: Song Library v2;
13/02/2023; 21/02/2023;
ako gumawa neto Eugene - RJ << We're going to start over from scratch. That's what V2 is for. >> - RJ
<sgd> CONANAN, Raul Jarod C. , 13/02/2023 <sgd> CONANAN, Raul Jarod C. , 21/02/2023
\ No newline at end of file \ No newline at end of file
File added
from django.contrib import admin from django.contrib import admin
from .models import Artist, Album, Song
# Register your models here. # Register your models here.
class ArtistAdmin(admin.ModelAdmin):
model = Artist
list_display = ('artist_name', 'birth_name', 'monthly_listeners',)
search_fields = ('artist_name', 'birth_name',)
list_filter = ('artist_name', 'birth_name',)
class AlbumAdmin(admin.ModelAdmin):
model = Album
list_display = ('album_name', 'description', 'release_date',
'label', 'song_count')
search_fields = ('album_name', 'description', 'label',)
list_filter = ('album_name',)
class SongAdmin(admin.ModelAdmin):
model = Song
list_display = ('song_title', 'song_length', 'lyrics', 'music_video',)
search_fields = ('song_title', 'lyrics',)
list_filter = ('song_title',)
admin.site.register(Artist, ArtistAdmin)
admin.site.register(Album, AlbumAdmin)
admin.site.register(Song, SongAdmin)
# Generated by Django 3.2 on 2023-02-21 10:38
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('homepage', '0002_song_song_length'),
]
operations = [
migrations.AddField(
model_name='album',
name='label',
field=models.CharField(max_length=255, null=True),
),
migrations.AddField(
model_name='album',
name='song_count',
field=models.IntegerField(null=True),
),
migrations.AddField(
model_name='artist',
name='bio',
field=models.TextField(blank=True, null=True),
),
migrations.AddField(
model_name='artist',
name='birth_name',
field=models.CharField(blank=True, max_length=255, null=True),
),
migrations.AddField(
model_name='song',
name='lyrics',
field=models.TextField(blank=True, null=True),
),
migrations.AddField(
model_name='song',
name='music_video',
field=models.BooleanField(null=True),
),
]
...@@ -6,19 +6,30 @@ from django.db.models.base import Model ...@@ -6,19 +6,30 @@ from django.db.models.base import Model
class Artist(models.Model): class Artist(models.Model):
artist_name = models.CharField(max_length=255, null=True) artist_name = models.CharField(max_length=255, null=True)
monthly_listeners = models.IntegerField(null=True) monthly_listeners = models.IntegerField(null=True)
birth_name = models.CharField(max_length=255, null=True, blank=True)
bio = models.TextField(blank=True, null=True)
def __str__(self):
return self.artist_name
class Album(models.Model): class Album(models.Model):
album_name = models.CharField(max_length=255, null=True) album_name = models.CharField(max_length=255, null=True)
artist = models.ForeignKey(Artist, related_name='album', on_delete=models.CASCADE, null=True) artist = models.ForeignKey(Artist, related_name='album', on_delete=models.CASCADE, null=True)
description = models.TextField(blank=True, null=True) description = models.TextField(blank=True, null=True)
release_date = models.DateField(blank=True, null=True) release_date = models.DateField(blank=True, null=True)
label = models.CharField(max_length=255, null=True)
song_count = models.IntegerField(null=True)
def __str__(self):
return self.album_name
class Song(models.Model): class Song(models.Model):
song_title = models.CharField(max_length=255, null=True) song_title = models.CharField(max_length=255, null=True)
artist = models.ForeignKey(Artist, related_name='song', on_delete=models.CASCADE, null=True) artist = models.ForeignKey(Artist, related_name='song', on_delete=models.CASCADE, null=True)
album = models.ForeignKey(Album, related_name='song', on_delete=models.CASCADE, null=True) album = models.ForeignKey(Album, related_name='song', on_delete=models.CASCADE, null=True)
song_length = models.IntegerField(null=True) song_length = models.IntegerField(null=True)
music_video = models.BooleanField(null=True, default=False)
lyrics = models.TextField(blank=True, null=True)
def __str__(self):
return 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