From 06137fcccfee93b102897f99808cfee0bc8e9188 Mon Sep 17 00:00:00 2001 From: Dmitry Borzenin Date: Fri, 7 Feb 2020 16:52:48 +0300 Subject: [PATCH] Refactoring in News.create_duplicate --- apps/news/models.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/news/models.py b/apps/news/models.py index da860c50..7c585148 100644 --- a/apps/news/models.py +++ b/apps/news/models.py @@ -370,11 +370,12 @@ class News(GalleryMixin, BaseAttributes, TranslatedFieldsMixin, HasTagsMixin, slug = NewsSlug.parse(raw_slug, country_codes) similar_slugs = sorted(x for x in all_slugs if NewsSlug.parse(x, country_codes).value == slug.value) if len(similar_slugs) == 0: - new_slugs[locale] = NewsSlug(slug.value, new_country.code) + # It is impossible because at least current instance has slug + raise ValueError('Duplicating unsaved object') else: last_slug = NewsSlug.parse(similar_slugs[-1], country_codes) new_slug = NewsSlug(slug.value, new_country.code, last_slug.count) - if last_slug.locale is not None: + if last_slug.country_code is not None: new_slug.count += 1 new_slugs[locale] = str(new_slug)