diff --git a/fixtures/program/show.json b/fixtures/program/show.json index 429f422c32df80a2cef1a002465abb0c0d33b8b8..597026872db92c22c309727ae0f7671cf6eccacc 100644 --- a/fixtures/program/show.json +++ b/fixtures/program/show.json @@ -9,7 +9,7 @@ "name": "Musikprogramm", "slug": "musikprogramm", "image": null, - "logo": "", + "logo": null, "short_description": "Unmoderiertes Musikprogramm", "description": "Unmoderiertes Musikprogramm", "email": "musikredaktion@helsinki.at", diff --git a/program/migrations/0051_remove_show_logo.py b/program/migrations/0051_remove_show_logo.py new file mode 100644 index 0000000000000000000000000000000000000000..9130f374d3cd8df948d146b08e325c698d3befe2 --- /dev/null +++ b/program/migrations/0051_remove_show_logo.py @@ -0,0 +1,17 @@ +# Generated by Django 3.2.18 on 2023-04-11 15:44 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('program', '0050_auto_20230404_0037'), + ] + + operations = [ + migrations.RemoveField( + model_name='show', + name='logo', + ), + ] diff --git a/program/migrations/0052_show_logo.py b/program/migrations/0052_show_logo.py new file mode 100644 index 0000000000000000000000000000000000000000..ba7a4c67358e11a8b341cc714d325a4bba3bbf4d --- /dev/null +++ b/program/migrations/0052_show_logo.py @@ -0,0 +1,19 @@ +# Generated by Django 3.2.18 on 2023-04-11 15:46 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('program', '0051_remove_show_logo'), + ] + + operations = [ + migrations.AddField( + model_name='show', + name='logo', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='logo_shows', to='program.image'), + ), + ] diff --git a/program/models.py b/program/models.py index a089ab54d148d2078234037475655cc6dba3081a..64c6780defab93f6e977242ddbb8b125c2a3fff1 100644 --- a/program/models.py +++ b/program/models.py @@ -239,7 +239,14 @@ class Show(ModelWithCreatedUpdatedFields): is_active = models.BooleanField(default=True) is_public = models.BooleanField(default=False) language = models.ManyToManyField(Language, blank=True, related_name="shows") - logo = models.ImageField(blank=True, null=True, upload_to="show_images") + # TODO: is this really necessary? + logo = models.ForeignKey( + Image, + blank=True, + null=True, + on_delete=models.CASCADE, + related_name="logo_shows", + ) music_focus = models.ManyToManyField(MusicFocus, blank=True, related_name="shows") name = models.CharField(max_length=255) owners = models.ManyToManyField(User, blank=True, related_name="shows") diff --git a/program/serializers.py b/program/serializers.py index 7620b4c32bd3eeddfc24510819108cf898a6c028..3da89cc2c513342e3f0ad2c60d5f96f15174aeef 100644 --- a/program/serializers.py +++ b/program/serializers.py @@ -383,6 +383,11 @@ class ShowSerializer(serializers.HyperlinkedModelSerializer): image = serializers.PrimaryKeyRelatedField(queryset=Image.objects.all(), required=False) language = serializers.PrimaryKeyRelatedField(queryset=Language.objects.all(), many=True) links = HostLinkSerializer(many=True, required=False) + logo = serializers.PrimaryKeyRelatedField( + allow_null=True, + queryset=Image.objects.all(), + required=False, + ) music_focus = serializers.PrimaryKeyRelatedField(queryset=MusicFocus.objects.all(), many=True) owners = serializers.PrimaryKeyRelatedField(queryset=User.objects.all(), many=True) predecessor = serializers.PrimaryKeyRelatedField(