Commit eebeb0d6 authored by Cheska Hung's avatar Cheska Hung

Added Django Admin panel and populated the database

parent 3066c5d7
from django.contrib import admin
#from .models import <model name>
#class <model name>(admin.ModelAdmin)
#model=IndexCard <model name>
#list diaplay=(sections of the database model, )
#search fields=(put above stuff here)
#admin.site.register(IndexCard, IndexCardAdmin) (<model name><model name Admin>)
#runserver after this, you will get a gui that looks like //look at phone photos for GUI
# make a super user in the terminal python manage.py createsuperuser Email and password bypass by entering everything
# Register your models here.
from django.contrib import admin
# Register your models here.
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', 'song_count')
search_fields = ('album_name', 'description', 'label')
filter = ('album_name')
class SongAdmin(admin.ModelAdmin):
model = Song
list_display = ('song_title', 'song_length', 'lyrics', 'music_video')
search_fields = ('song_title', 'lyrics')
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 12:35
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='Album',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('album_name', models.CharField(max_length=50)),
('description', models.CharField(max_length=50)),
('release_date', models.CharField(max_length=10)),
],
),
migrations.CreateModel(
name='Artist',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('artist_name', models.CharField(max_length=50)),
('monthly_listeners', models.IntegerField()),
('birth_name', models.CharField(max_length=700)),
],
),
migrations.CreateModel(
name='Song',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('song_title', models.CharField(max_length=50)),
('music_video', models.BooleanField(default=False)),
('album', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='homepage.album')),
('artist', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='homepage.artist')),
],
),
migrations.AddField(
model_name='album',
name='artist',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='homepage.artist'),
),
]
# Generated by Django 3.2 on 2023-02-21 12:54
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('homepage', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='artist',
name='bio',
field=models.CharField(max_length=700, null=True),
),
migrations.AddField(
model_name='song',
name='lyrics',
field=models.CharField(max_length=3000, null=True),
),
migrations.AlterField(
model_name='artist',
name='birth_name',
field=models.CharField(max_length=50),
),
]
# Generated by Django 3.2 on 2023-02-21 13:44
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('homepage', '0002_auto_20230221_2054'),
]
operations = [
migrations.AddField(
model_name='album',
name='label',
field=models.CharField(max_length=100, null=True),
),
migrations.AddField(
model_name='album',
name='song_count',
field=models.IntegerField(null=True),
),
migrations.AddField(
model_name='song',
name='song_length',
field=models.IntegerField(null=True),
),
migrations.AlterField(
model_name='album',
name='description',
field=models.CharField(max_length=100000),
),
]
......@@ -4,17 +4,23 @@ from django.db import models
class Artist(models.Model):
artist_name = models.CharField(max_length=50)
monthly_listeners = models.IntegerField()
birth_name = models.CharField(max_length=50)
bio = models.CharField(max_length=700, null=True)
class Album(models.Model):
album_name = models.CharField(max_length=50)
artist = models.ForeignKey(Artist, on_delete=models.CASCADE)
description = models.CharField(max_length=50)
description = models.CharField(max_length=100000)
release_date = models.CharField(max_length=10)
label = models.CharField(max_length=100, null=True)
song_count = models.IntegerField(null=True)
class Song(models.Model):
song_title = models.CharField(max_length=50)
artist = models.ForeignKey(Artist, on_delete=models.CASCADE)
album = models.ForeignKey(Album, on_delete=models.CASCADE)
song_length = models.IntegerField
song_length = models.DurationField(null=True)
music_video = models.BooleanField(default=False)
lyrics = models.CharField(max_length=3000, null=True)
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