Commit d4b689a8 authored by Migs Atienza's avatar Migs Atienza

Merge branch 'lab02'

parents fa44e9c4 e5e296e7
...@@ -2,9 +2,9 @@ Miguel Luis Antonio Atienza ...@@ -2,9 +2,9 @@ Miguel Luis Antonio Atienza
210523 210523
CSCI 40 - F CSCI 40 - F
Lab 1: Song Library Lab 2: Song Library v2
February 13, 2023 February 21, 2023
This lab was truthfully made by me, and only me, Migs Atienza This lab was truthfully made by me, and only me, Migs Atienza
<sgd> Miguel Luis Antonio Atienza, February 13, 2023 <sgd> Miguel Luis Antonio Atienza, February 21, 2023
\ No newline at end of file \ No newline at end of file
from django.contrib import admin from django.contrib import admin
from .models import Artist, Album, Song
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",)
# Register your models here. # Register your models here.
admin.site.register(Artist, ArtistAdmin)
admin.site.register(Album, AlbumAdmin)
admin.site.register(Song, SongAdmin)
\ No newline at end of file
# Generated by Django 4.1.6 on 2023-02-21 12:45
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('homepage', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='album',
name='label',
field=models.CharField(default='', max_length=50),
),
migrations.AddField(
model_name='album',
name='song_count',
field=models.IntegerField(default=0),
),
migrations.AddField(
model_name='artist',
name='bio',
field=models.CharField(default='', max_length=700),
),
migrations.AddField(
model_name='artist',
name='birth_name',
field=models.CharField(default='', max_length=50),
),
migrations.AddField(
model_name='song',
name='lyrics',
field=models.CharField(default='', max_length=2500),
),
migrations.AddField(
model_name='song',
name='music_video',
field=models.BooleanField(default=False),
),
]
# Generated by Django 4.1.6 on 2023-02-21 13:46
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('homepage', '0002_album_label_album_song_count_artist_bio_and_more'),
]
operations = [
migrations.AlterField(
model_name='song',
name='lyrics',
field=models.TextField(default='', max_length=2500),
),
]
# Generated by Django 4.1.6 on 2023-02-21 14:27
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('homepage', '0003_alter_song_lyrics'),
]
operations = [
migrations.AlterField(
model_name='song',
name='song_length',
field=models.DurationField(),
),
]
...@@ -4,6 +4,8 @@ from django.db import models ...@@ -4,6 +4,8 @@ from django.db import models
class Artist(models.Model): class Artist(models.Model):
artist_name = models.CharField(max_length=50) artist_name = models.CharField(max_length=50)
monthly_listeners = models.IntegerField() monthly_listeners = models.IntegerField()
birth_name = models.CharField(max_length=50, default="")
bio = models.CharField(max_length=700, default="")
class Album(models.Model): class Album(models.Model):
...@@ -11,11 +13,15 @@ class Album(models.Model): ...@@ -11,11 +13,15 @@ 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=1000) description = models.CharField(max_length=1000)
release_date = models.DateField() release_date = models.DateField()
label = models.CharField(max_length=50, default="")
song_count = models.IntegerField(default=0)
class Song(models.Model): class Song(models.Model):
song_title = models.CharField(max_length=100) song_title = models.CharField(max_length=100)
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.TimeField() song_length = models.DurationField()
music_video = models.BooleanField(default=False)
lyrics = models.TextField(max_length=2500, default="")
# Create your models here. # Create your models here.
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