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):
|
def save(self, *args, **kwargs):
|
||||||
if not self.slug:
|
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)
|
super().save(*args, **kwargs)
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.name
|
return self.name
|
||||||
@ -204,7 +210,13 @@ class CarModel(models.Model, LocalizedNameMixin):
|
|||||||
slug = models.SlugField(max_length=255, unique=True, blank=True, null=True)
|
slug = models.SlugField(max_length=255, unique=True, blank=True, null=True)
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
if not self.slug:
|
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)
|
super().save(*args, **kwargs)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
@ -227,7 +239,13 @@ class CarSerie(models.Model, LocalizedNameMixin):
|
|||||||
slug = models.SlugField(max_length=255, unique=True, blank=True, null=True)
|
slug = models.SlugField(max_length=255, unique=True, blank=True, null=True)
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
if not self.slug:
|
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)
|
super().save(*args, **kwargs)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
@ -249,7 +267,13 @@ class CarTrim(models.Model, LocalizedNameMixin):
|
|||||||
slug = models.SlugField(max_length=255, unique=True, blank=True, null=True)
|
slug = models.SlugField(max_length=255, unique=True, blank=True, null=True)
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
if not self.slug:
|
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)
|
super().save(*args, **kwargs)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
@ -288,7 +312,13 @@ class CarSpecification(models.Model, LocalizedNameMixin):
|
|||||||
slug = models.SlugField(max_length=255, unique=True, blank=True, null=True)
|
slug = models.SlugField(max_length=255, unique=True, blank=True, null=True)
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
if not self.slug:
|
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)
|
super().save(*args, **kwargs)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
@ -324,7 +354,13 @@ class CarOption(models.Model, LocalizedNameMixin):
|
|||||||
slug = models.SlugField(max_length=255, unique=True, blank=True, null=True)
|
slug = models.SlugField(max_length=255, unique=True, blank=True, null=True)
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
if not self.slug:
|
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)
|
super().save(*args, **kwargs)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
@ -1139,7 +1175,13 @@ class Customer(models.Model):
|
|||||||
|
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
if not self.slug:
|
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)
|
super().save(*args, **kwargs)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -1508,8 +1550,14 @@ class Lead(models.Model):
|
|||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
self.status = self.get_status()
|
self.status = self.get_status()
|
||||||
if not self.slug:
|
if not self.slug:
|
||||||
self.slug = slugify(f"{self.first_name} {self.last_name}")
|
base_slug = slugify(f"{self.last_name} {self.first_name}")
|
||||||
super(Lead, self).save(*args, **kwargs)
|
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):
|
class Schedule(models.Model):
|
||||||
PURPOSE_CHOICES = [
|
PURPOSE_CHOICES = [
|
||||||
@ -1769,7 +1817,13 @@ class Vendor(models.Model, LocalizedNameMixin):
|
|||||||
|
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
if not self.slug:
|
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)
|
super().save(*args, **kwargs)
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = _("Vendor")
|
verbose_name = _("Vendor")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user