Добавил недостающие шаблоны, добавил related_name в моделях, добавил недостающие urls
This commit is contained in:
19
music_storage/music/migrations/0003_alter_track_album.py
Normal file
19
music_storage/music/migrations/0003_alter_track_album.py
Normal file
@@ -0,0 +1,19 @@
|
||||
# Generated by Django 6.0 on 2026-01-02 07:42
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('music', '0002_remove_track_artist'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='track',
|
||||
name='album',
|
||||
field=models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_DEFAULT, related_name='tracks', to='music.album'),
|
||||
),
|
||||
]
|
||||
19
music_storage/music/migrations/0004_alter_track_album.py
Normal file
19
music_storage/music/migrations/0004_alter_track_album.py
Normal file
@@ -0,0 +1,19 @@
|
||||
# Generated by Django 6.0 on 2026-01-02 07:45
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('music', '0003_alter_track_album'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='track',
|
||||
name='album',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='tracks', to='music.album'),
|
||||
),
|
||||
]
|
||||
19
music_storage/music/migrations/0005_alter_album_artist.py
Normal file
19
music_storage/music/migrations/0005_alter_album_artist.py
Normal file
@@ -0,0 +1,19 @@
|
||||
# Generated by Django 6.0 on 2026-01-02 07:56
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('music', '0004_alter_track_album'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='album',
|
||||
name='artist',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='albums', to='music.artist'),
|
||||
),
|
||||
]
|
||||
@@ -10,7 +10,7 @@ class Artist(BaseModel):
|
||||
|
||||
|
||||
class Album(BaseModel):
|
||||
artist = models.ForeignKey(Artist, on_delete=models.CASCADE)
|
||||
artist = models.ForeignKey(Artist, on_delete=models.CASCADE, related_name="albums")
|
||||
name = models.CharField(max_length=200)
|
||||
|
||||
def __str__(self):
|
||||
@@ -19,7 +19,7 @@ class Album(BaseModel):
|
||||
|
||||
class Track(BaseModel):
|
||||
title = models.CharField(max_length=200)
|
||||
album = models.ForeignKey(Album, blank=True, null=True, default=None, on_delete=models.SET_DEFAULT)
|
||||
album = models.ForeignKey(Album, on_delete=models.CASCADE, related_name="tracks")
|
||||
file = models.FileField(upload_to="music/")
|
||||
|
||||
def __str__(self):
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
from django.urls import path
|
||||
|
||||
from music.views import TrackListView
|
||||
|
||||
from music.views import AlbumListView
|
||||
from music.views import AlbumDetailView
|
||||
|
||||
from music.views import ArtistListView
|
||||
from music.views import ArtistDetailView
|
||||
|
||||
|
||||
app_name = "music"
|
||||
@@ -10,5 +14,7 @@ app_name = "music"
|
||||
urlpatterns = [
|
||||
path("tracks/", TrackListView.as_view(), name="track_list"),
|
||||
path("albums/", AlbumListView.as_view(), name="album_list"),
|
||||
path("albums/<int:pk>/", AlbumDetailView.as_view(), name="album_detail"),
|
||||
path("artists/", ArtistListView.as_view(), name="artist_list"),
|
||||
path("artists/<int:pk>/", ArtistDetailView.as_view(), name="artist_detail"),
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user