Pentingnya Slug Field

Berguna ketika kita ingin membuat URL dengan format

/topic/topic-name/

Topic name biasanya diambil dari CharField, jika ingin dibuat URL, kita harus parsing manual supaya karakter-karakter non-alphanumeric hilang. Ada cara mudah dan elegan di django, yakni dengan memanfaatkan SlugField, yang secara otomatis akan menghilangkan karakter non-alphanumeric dari topic name.

Kalau sebelumnya model kita seperti ini:

class Topic(models.Model):
    topic_name = models.CharField(max_length=255)

kita ubah menjadi

class Topic(models.Model):
    topic_name = models.CharField(max_length=255)
    topic_slug = models.SlugField(max_length=255)

URL lebih mudah dibentuk

href="{{ url 'topic' topic.topic_slug }}"

Filtering juga mudah

>>> Topic.objects.filter(topic_slug=topic_slug).filter(Published=True)
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s