I am trying to create a unique slug in Django so that I can access a post via a url like this: http://www.example.com/buy-a-new-bike_Boston-MA-02111_2
The relevant m
just try to slug a unique values together , for example : i am going to slugfy time,username,ticket_subject together and save it as a slug, like the following :
from django.utils.text import slugify
from datetime import datetime
time_now = datetime.now().strftime('%Y-%m-%d_%H:%M:%S')
class ticket(models.Model):
TKT_USER = models.ForeignKey(User, related_name='TKT_USER', on_delete=models.CASCADE)
TKT_SUB = models.CharField(max_length=20, db_index=True, verbose_name="ticket subject")
TKT_BOD = models.TextField(verbose_name="ticket body")
TKT_SLug = models.SlugField(blank=True, null=True, db_index=True, unique=True)
def save(self , *args , **kwargs):
if not self.TKT_SLug:
data_to_slug = f"{time_now}_{self.TKT_USER}_{self.TKT_SUB}"
self.TKT_SLug = slugify(data_to_slug)
super(ticket , self).save(*args, **kwargs)