From d61036fcd589f33a21156c50aea253e16cf799e5 Mon Sep 17 00:00:00 2001 From: Ernesto Rico Schmidt <ernesto@helsinki.at> Date: Tue, 29 Oct 2024 16:58:33 -0400 Subject: [PATCH] feat: add PlaylistEntry model --- program/migrations/0120_playlistentry.py | 37 ++++++++++++++++++++++++ program/models.py | 11 +++++++ 2 files changed, 48 insertions(+) create mode 100644 program/migrations/0120_playlistentry.py diff --git a/program/migrations/0120_playlistentry.py b/program/migrations/0120_playlistentry.py new file mode 100644 index 00000000..fd1713a2 --- /dev/null +++ b/program/migrations/0120_playlistentry.py @@ -0,0 +1,37 @@ +# Generated by Django 4.2.16 on 2024-10-29 20:56 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("program", "0119_playlist"), + ] + + operations = [ + migrations.CreateModel( + name="PlaylistEntry", + fields=[ + ( + "id", + models.AutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), + ("duration", models.FloatField(null=True)), + ("file_id", models.IntegerField(null=True)), + ("line_num", models.IntegerField()), + ("uri", models.CharField(blank=True, max_length=1024)), + ( + "playlist", + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="entries", + to="program.playlist", + ), + ), + ], + ), + ] diff --git a/program/models.py b/program/models.py index 37520c42..982796ea 100644 --- a/program/models.py +++ b/program/models.py @@ -586,6 +586,17 @@ class Playlist(models.Model): return f"{self.show.name} - {self.description}" if self.description else self.show.name +class PlaylistEntry(models.Model): + duration = models.FloatField(null=True) + file_id = models.IntegerField(null=True) + line_num = models.IntegerField(null=False) + playlist = models.ForeignKey(Playlist, on_delete=models.CASCADE, related_name="entries") + uri = models.CharField(blank=True, max_length=1024) + + def __str__(self): + return f"{self.uri} - {self.duration:.2f}" if self.duration else self.uri + + class ImageAspectRadioField(models.CharField): validators = [ RegexValidator( -- GitLab