update news gallery

This commit is contained in:
Kuroshini 2019-12-11 17:54:53 +03:00
parent f182ec4981
commit 90f75c6da5
3 changed files with 10 additions and 9 deletions

View File

@ -1,4 +1,4 @@
# Generated by Django 2.2.7 on 2019-12-11 14:06 # Generated by Django 2.2.7 on 2019-12-11 14:24
from django.db import migrations from django.db import migrations
@ -13,6 +13,6 @@ class Migration(migrations.Migration):
operations = [ operations = [
migrations.AlterUniqueTogether( migrations.AlterUniqueTogether(
name='newsgallery', name='newsgallery',
unique_together={('news', 'image')}, unique_together={('news', 'image'),},
), ),
] ]

View File

@ -320,4 +320,4 @@ class NewsGallery(IntermediateGalleryModelMixin):
"""NewsGallery meta class.""" """NewsGallery meta class."""
verbose_name = _('news gallery') verbose_name = _('news gallery')
verbose_name_plural = _('news galleries') verbose_name_plural = _('news galleries')
unique_together = (('news', 'image'),) unique_together = [['news', 'image'],]

View File

@ -246,10 +246,11 @@ class NewsBackOfficeGallerySerializer(serializers.ModelSerializer):
def create(self, validated_data): def create(self, validated_data):
news_pk = self.get_request_kwargs().get('pk') news_pk = self.get_request_kwargs().get('pk')
image_id = self.get_request_kwargs().get('image_id') 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() qs = models.NewsGallery.objects.filter(image_id=image_id, news_id=news_pk)
if news_gallery_model: instance = qs.first()
news_gallery_model.update(**validated_data) if instance:
return news_gallery_model qs.update(**validated_data)
return instance
return super().create(validated_data) return super().create(validated_data)
def validate(self, attrs): def validate(self, attrs):
@ -268,8 +269,8 @@ class NewsBackOfficeGallerySerializer(serializers.ModelSerializer):
news = news_qs.first() news = news_qs.first()
image = image_qs.first() image = image_qs.first()
if image in news.gallery.all(): # if image in news.gallery.all():
raise serializers.ValidationError({'detail': _('Image is already added.')}) # raise serializers.ValidationError({'detail': _('Image is already added.')})
attrs['news'] = news attrs['news'] = news
attrs['image'] = image attrs['image'] = image