diff --git a/apps/gallery/migrations/0007_auto_20191211_1528.py b/apps/gallery/migrations/0007_auto_20191211_1528.py new file mode 100644 index 00000000..714ef664 --- /dev/null +++ b/apps/gallery/migrations/0007_auto_20191211_1528.py @@ -0,0 +1,17 @@ +# Generated by Django 2.2.7 on 2019-12-11 15:28 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('gallery', '0006_merge_20191027_1758'), + ] + + operations = [ + migrations.AlterModelOptions( + name='image', + options={'ordering': ['-modified'], 'verbose_name': 'Image', 'verbose_name_plural': 'Images'}, + ), + ] diff --git a/apps/gallery/models.py b/apps/gallery/models.py index baed48fc..22c5b5e7 100644 --- a/apps/gallery/models.py +++ b/apps/gallery/models.py @@ -34,6 +34,7 @@ class Image(ProjectBaseMixin, SORLImageMixin, PlatformMixin): """Meta class.""" verbose_name = _('Image') verbose_name_plural = _('Images') + ordering = ['-modified'] def __str__(self): """String representation""" diff --git a/apps/news/migrations/0041_auto_20191211_1528.py b/apps/news/migrations/0041_auto_20191211_1528.py new file mode 100644 index 00000000..0093d406 --- /dev/null +++ b/apps/news/migrations/0041_auto_20191211_1528.py @@ -0,0 +1,18 @@ +# Generated by Django 2.2.7 on 2019-12-11 15:28 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('gallery', '0007_auto_20191211_1528'), + ('news', '0040_remove_news_slug'), + ] + + operations = [ + migrations.AlterUniqueTogether( + name='newsgallery', + unique_together={('news', 'image')}, + ), + ] diff --git a/apps/news/models.py b/apps/news/models.py index f54378b6..b4e1b5d5 100644 --- a/apps/news/models.py +++ b/apps/news/models.py @@ -320,4 +320,4 @@ class NewsGallery(IntermediateGalleryModelMixin): """NewsGallery meta class.""" verbose_name = _('news gallery') verbose_name_plural = _('news galleries') - unique_together = (('news', 'is_main'), ('news', 'image')) + unique_together = [['news', 'image'],] diff --git a/apps/news/serializers.py b/apps/news/serializers.py index b45bfa3f..41b6ebc4 100644 --- a/apps/news/serializers.py +++ b/apps/news/serializers.py @@ -246,10 +246,11 @@ class NewsBackOfficeGallerySerializer(serializers.ModelSerializer): def create(self, validated_data): news_pk = self.get_request_kwargs().get('pk') image_id = self.get_request_kwargs().get('image_id') - news_gallery_model = models.NewsGallery.objects.filter(image_id=image_id, news_id=news_pk).first() - if news_gallery_model: - news_gallery_model.update(**validated_data) - return news_gallery_model + qs = models.NewsGallery.objects.filter(image_id=image_id, news_id=news_pk) + instance = qs.first() + if instance: + qs.update(**validated_data) + return instance return super().create(validated_data) def validate(self, attrs): @@ -268,8 +269,8 @@ class NewsBackOfficeGallerySerializer(serializers.ModelSerializer): news = news_qs.first() image = image_qs.first() - if image in news.gallery.all(): - raise serializers.ValidationError({'detail': _('Image is already added.')}) + # if image in news.gallery.all(): + # raise serializers.ValidationError({'detail': _('Image is already added.')}) attrs['news'] = news attrs['image'] = image