fix slug unique issue
This commit is contained in:
parent
5c4ea15fdf
commit
41feca462d
@ -188,7 +188,13 @@ class CarMake(models.Model, LocalizedNameMixin):
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.slug:
|
||||
self.slug = slugify(self.name)
|
||||
base_slug = slugify(self.name)
|
||||
self.slug = base_slug
|
||||
counter = 1
|
||||
|
||||
while self.__class__.objects.filter(slug=self.slug).exclude(pk=self.pk).exists():
|
||||
self.slug = f"{base_slug}-{counter}"
|
||||
counter += 1
|
||||
super().save(*args, **kwargs)
|
||||
def __str__(self):
|
||||
return self.name
|
||||
@ -204,7 +210,13 @@ class CarModel(models.Model, LocalizedNameMixin):
|
||||
slug = models.SlugField(max_length=255, unique=True, blank=True, null=True)
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.slug:
|
||||
self.slug = slugify(self.name)
|
||||
base_slug = slugify(self.name)
|
||||
self.slug = base_slug
|
||||
counter = 1
|
||||
|
||||
while self.__class__.objects.filter(slug=self.slug).exclude(pk=self.pk).exists():
|
||||
self.slug = f"{base_slug}-{counter}"
|
||||
counter += 1
|
||||
super().save(*args, **kwargs)
|
||||
|
||||
def __str__(self):
|
||||
@ -227,7 +239,13 @@ class CarSerie(models.Model, LocalizedNameMixin):
|
||||
slug = models.SlugField(max_length=255, unique=True, blank=True, null=True)
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.slug:
|
||||
self.slug = slugify(self.name)
|
||||
base_slug = slugify(self.name)
|
||||
self.slug = base_slug
|
||||
counter = 1
|
||||
|
||||
while self.__class__.objects.filter(slug=self.slug).exclude(pk=self.pk).exists():
|
||||
self.slug = f"{base_slug}-{counter}"
|
||||
counter += 1
|
||||
super().save(*args, **kwargs)
|
||||
|
||||
def __str__(self):
|
||||
@ -249,7 +267,13 @@ class CarTrim(models.Model, LocalizedNameMixin):
|
||||
slug = models.SlugField(max_length=255, unique=True, blank=True, null=True)
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.slug:
|
||||
self.slug = slugify(self.name)
|
||||
base_slug = slugify(self.name)
|
||||
self.slug = base_slug
|
||||
counter = 1
|
||||
|
||||
while self.__class__.objects.filter(slug=self.slug).exclude(pk=self.pk).exists():
|
||||
self.slug = f"{base_slug}-{counter}"
|
||||
counter += 1
|
||||
super().save(*args, **kwargs)
|
||||
|
||||
def __str__(self):
|
||||
@ -288,7 +312,13 @@ class CarSpecification(models.Model, LocalizedNameMixin):
|
||||
slug = models.SlugField(max_length=255, unique=True, blank=True, null=True)
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.slug:
|
||||
self.slug = slugify(self.name)
|
||||
base_slug = slugify(self.name)
|
||||
self.slug = base_slug
|
||||
counter = 1
|
||||
|
||||
while self.__class__.objects.filter(slug=self.slug).exclude(pk=self.pk).exists():
|
||||
self.slug = f"{base_slug}-{counter}"
|
||||
counter += 1
|
||||
super().save(*args, **kwargs)
|
||||
|
||||
def __str__(self):
|
||||
@ -324,7 +354,13 @@ class CarOption(models.Model, LocalizedNameMixin):
|
||||
slug = models.SlugField(max_length=255, unique=True, blank=True, null=True)
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.slug:
|
||||
self.slug = slugify(self.name)
|
||||
base_slug = slugify(self.name)
|
||||
self.slug = base_slug
|
||||
counter = 1
|
||||
|
||||
while self.__class__.objects.filter(slug=self.slug).exclude(pk=self.pk).exists():
|
||||
self.slug = f"{base_slug}-{counter}"
|
||||
counter += 1
|
||||
super().save(*args, **kwargs)
|
||||
|
||||
def __str__(self):
|
||||
@ -1139,7 +1175,13 @@ class Customer(models.Model):
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.slug:
|
||||
self.slug = slugify(f"{self.first_name} {self.last_name}")
|
||||
base_slug = slugify(f"{self.last_name} {self.first_name}")
|
||||
self.slug = base_slug
|
||||
counter = 1
|
||||
|
||||
while self.__class__.objects.filter(slug=self.slug).exclude(pk=self.pk).exists():
|
||||
self.slug = f"{base_slug}-{counter}"
|
||||
counter += 1
|
||||
super().save(*args, **kwargs)
|
||||
|
||||
class Meta:
|
||||
@ -1508,8 +1550,14 @@ class Lead(models.Model):
|
||||
def save(self, *args, **kwargs):
|
||||
self.status = self.get_status()
|
||||
if not self.slug:
|
||||
self.slug = slugify(f"{self.first_name} {self.last_name}")
|
||||
super(Lead, self).save(*args, **kwargs)
|
||||
base_slug = slugify(f"{self.last_name} {self.first_name}")
|
||||
self.slug = base_slug
|
||||
counter = 1
|
||||
|
||||
while self.__class__.objects.filter(slug=self.slug).exclude(pk=self.pk).exists():
|
||||
self.slug = f"{base_slug}-{counter}"
|
||||
counter += 1
|
||||
super().save(*args, **kwargs)
|
||||
|
||||
class Schedule(models.Model):
|
||||
PURPOSE_CHOICES = [
|
||||
@ -1769,7 +1817,13 @@ class Vendor(models.Model, LocalizedNameMixin):
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.slug:
|
||||
self.slug = slugify(self.name)
|
||||
base_slug = slugify(self.name)
|
||||
self.slug = base_slug
|
||||
counter = 1
|
||||
|
||||
while self.__class__.objects.filter(slug=self.slug).exclude(pk=self.pk).exists():
|
||||
self.slug = f"{base_slug}-{counter}"
|
||||
counter += 1
|
||||
super().save(*args, **kwargs)
|
||||
class Meta:
|
||||
verbose_name = _("Vendor")
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user