Refactoring in News.create_duplicate

This commit is contained in:
Dmitry Borzenin 2020-02-07 16:52:48 +03:00
parent 73a5f9dc09
commit 06137fcccf

View File

@ -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)