From 7648e478f5a8242b74d608828eb1b3e19541ba68 Mon Sep 17 00:00:00 2001 From: Kuroshini Date: Thu, 26 Dec 2019 15:00:05 +0300 Subject: [PATCH] allow city main image changing --- apps/location/views/back.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/apps/location/views/back.py b/apps/location/views/back.py index e306bc6e..4f29582d 100644 --- a/apps/location/views/back.py +++ b/apps/location/views/back.py @@ -7,6 +7,7 @@ from utils.permissions import IsCountryAdmin from utils.views import CreateDestroyGalleryViewMixin from rest_framework.permissions import IsAuthenticatedOrReadOnly from django.shortcuts import get_object_or_404 +from django.db import IntegrityError from utils.serializers import ImageBaseSerializer from location.filters import RegionFilter @@ -81,6 +82,15 @@ class CityGalleryCreateDestroyView(common.CityViewMixin, return gallery + def create(self, request, *args, **kwargs): + try: + return super(CityGalleryCreateDestroyView, self).create(request, *args, **kwargs) + except IntegrityError as e: + if not 'unique constraint' in e.args[0]: + raise e + models.CityGallery.objects.filter(city=kwargs['pk'], is_main=request.data['is_main']).delete() + return super(CityGalleryCreateDestroyView, self).create(request, *args, **kwargs) + class CityGalleryListView(common.CityViewMixin, generics.ListAPIView):