১০.৮ : প্রিপপুলেটেড ফিল্ড

আজকে আমরা দুইটা টপিক সম্পর্কে জানবো। ফার্স্ট হচ্ছে slug ফিল্ড সেকেন্ড হচ্ছে prepopulated ফিল্ড।

Slug হচ্ছে একটা সেন্টেন্স কে যদি url এ কনভার্ট করতে চাই তাইলে প্রত্যেকটা ওয়ার্ড এর মাঝের যে স্পেস আছে সেগুলা কে রিমুভ করে তাদের মাঝে _ বসালে যে url তৈরি হবে তাকে slug বলে।

আমাদের মেইন টার্গেট হচ্ছে ক্যাটাগরি wise পোস্ট গুলা ফিল্টার করা সো আমরা ক্যাটাগরি এর নাম গুলা দিয়ে url বানাতে চাই, সেজন্যে slug এ কনভার্ট করবো ক্যাটাগরি নাম গুলা কে।

কিন্তু আরো একটা ব্যাপার হচ্ছে এই কনভার্ট এর কাজ টা কে করবে আসলে.? Django কে দিয়ে করাবো আমরা তবে সেটা একটা একটু অন্যরকম ভাবে। যখনি আমরা কোনো ক্যাটাগরি এর নাম লিখবো সাথে সাথে সেটা যেন slug এ কনভার্ট হয়ে যায় এই প্রসেস কে prepopulated বলে।

যদি আমরা সেটা করতে চাই তাইলে ক্যাটাগরি মডেল এ প্রথমে slug অ্যাড করতে হবে এরপর admin এ গিয়ে বলে দিতে হবে যে কোন ফিল্ড অটোমেটিক তৈরি হবে আর সেটা কোন ফিল্ড এর ভ্যালু ইউজ করবে।

from django.db import models

# Create your models here.
class Category(models.Model):
    name = models.CharField(max_length=100)
    slug = models.SlugField(max_length=100,unique=True, null=True, blank=True)
    
    def __str__(self):
        return self.name
from django.contrib import admin
from . import models
# Register your models here.

# admin.site.register(models.Category)
class CategoryAdmin(admin.ModelAdmin):
    prepopulated_fields = {'slug' : ('name',)}
    list_display = ['name', 'slug']
    
admin.site.register(models.Category, CategoryAdmin)

Last updated