9 වන ඒකකය: Admin Panel එක බලවත් කිරීම

අපි ඒකකය 4 දී අපේ `Note` model එක admin panel එකට එකතු කළා. ඒක හොඳයි, ඒත් සටහන් සිය ගණනක් තියෙද්දී ඒවා කළමනාකරණය කරන එක එච්චර පහසු නෑ. Django admin panel එකේ සැබෑ බලය තියෙන්නේ, අපිට ඕන විදිහට ඒක සකස් කරගන්න (customize) පුළුවන් වීමයි.


Admin Panel එක Customize කරන්නේ ඇයි?

හිතන්න, Django Admin Panel එක කියන්නේ ඔයාගේ කඩේ "පසු කාර්යාලය" (Back Office) වගේ කියලා. බඩු තොගය (data) බලන්න, අලුත් ඒවා එකතු කරන්න ඔයාට මේක පාවිච්චි කරන්න පුළුවන්. මුලදී, හැම බඩුවකම නම විතරක් පේනවා. ඒත් ඔයාට බඩු වර්ගය අනුව filter කරන්න, නමින් search කරන්න, මිලත් ලැයිස්තුවේම බලන්න පුළුවන් නම් වැඩ කොච්චර ලේසිද? Admin customization කියන්නේ අන්න ඒ වගේ පහසුකම් එකතු කරගන්න එකයි.

පියවර 1: `ModelAdmin` Class එක හඳුන්වා දීම

Admin panel එක customize කරන්න, අපි `ModelAdmin` කියන class එක පාවිච්චි කරනවා. `notes/admin.py` ගොනුවට ගොස්, එය පහත පරිදි වෙනස් කරන්න.

# notes/admin.py
from django.contrib import admin
from .models import Note

# 1. NoteAdmin නමින් අලුත් class එකක් සාදන්න
class NoteAdmin(admin.ModelAdmin):
    # අපි අපේ customizations මෙතන ලියනවා
    list_display = ('title', 'user', 'created_at')
    list_filter = ('user', 'created_at')
    search_fields = ('title', 'content')

# 2. register කරද්දී, Note model එකත් එක්ක NoteAdmin class එකත් දෙන්න
admin.site.register(Note, NoteAdmin)

පියවර 2: Customizations තේරුම් ගනිමු

අපි දැන් එකතු කළ කේත පේලි 3 න් මොකද වෙන්නේ කියලා බලමු.

`list_display`

මේකෙන් වෙන්නේ, සටහන් ලැයිස්තුවේ පෙන්වන තීරු (columns) මොනවද කියලා තීරණය කරන එකයි. මුලදී `title` එක විතරක් පෙනුනට, දැන් ඒ එක්කම ඒ සටහන අයිති `user` සහ එය සෑදූ `created_at` දිනයත් පෙනේවි.

`list_filter`

මේකෙන් වෙන්නේ, admin panel එකේ දකුණු පැත්තේ filter කරන්න පුළුවන් sidebar එකක් එකතු වෙන එකයි. දැන් අපිට 특정 user කෙනෙක්ගේ සටහන් විතරක් හෝ, 특정 දිනයක සෑදූ සටහන් විතරක් filter කරලා බලන්න පුළුවන්.

`search_fields`

මේකෙන් වෙන්නේ, ලැයිස්තුවේ උඩින් search bar එකක් එකතු වෙන එකයි. අපිට දැන් `title` එකේ හෝ `content` එකේ තියෙන වචනයක් type කරලා සටහන් හොයාගන්න පුළුවන්.

දැන් පරීක්ෂා කර බලන්න!
Server එක run කර, Admin Panel එකට (/admin) ගොස් Notes section එකට යන්න. ඔබ දැන් එකතු කළ සියලුම පහසුකම් එහි දැකගත හැකිවේවි!