def test_increment_slug(self): """ Incrementing a slug should increment the number at the end """ slug = "hello-world-1" new_slug = increment_slug(slug) self.assertEqual(new_slug, "hello-world-2") slug = "hello-world-10" new_slug = increment_slug(slug) self.assertEqual(new_slug, "hello-world-11")
def test_first_increment_slug(self): """ First increment on a slug should append '-1' to the end """ slug = "hello-world" new_slug = increment_slug(slug) self.assertEqual(new_slug, "%s-1" % slug)
def save(self, *args, **kw): """ Override the existing method """ if not self.slug: all_slugs = CheckList.objects \ .filter(owner=self.owner) \ .values_list('slug', flat=True) slug = slugify(self.title) while slug in all_slugs: slug = increment_slug(slug) self.slug = slug super(CheckList, self).save(*args, **kw)