From 35d94e6f765077db6374344f25b91bbcdd671688 Mon Sep 17 00:00:00 2001 From: Kuroshini Date: Fri, 7 Feb 2020 18:07:17 +0300 Subject: [PATCH] always one is_main media item --- apps/gallery/serializers.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/apps/gallery/serializers.py b/apps/gallery/serializers.py index dad6e2de..e1a259a1 100644 --- a/apps/gallery/serializers.py +++ b/apps/gallery/serializers.py @@ -90,6 +90,10 @@ class EstablishmentGallerySerializer(serializers.ModelSerializer): instance.created_by = self.context['request'].user instance.establishment_set.add(establishment) instance.save() + if is_main: + EstablishmentGallery.objects.filter( + establishment=establishment + ).update(is_main=False) # reset all before setting True on some instance EstablishmentGallery.objects.filter( image=instance ).update(is_main=is_main) @@ -100,6 +104,11 @@ class EstablishmentGallerySerializer(serializers.ModelSerializer): instance.set_pubic(validated_data.get('is_public', True)) if 'is_main' in validated_data: is_main = validated_data.pop('is_main') + if is_main: + establishment = instance.establishment_gallery.all()[0].establishment + EstablishmentGallery.objects.filter( + establishment=establishment + ).update(is_main=False) # reset all before setting True on some instance EstablishmentGallery.objects.filter( image=instance ).update(is_main=is_main)