آیکون شمارنده یا همان Facet counts: این ویژگی جدیدی است که در جنگو ۵ معرفی شده است و در این پست قصد داریم با آن آشنا شویم و از آن بهره ببریم.

جنگو ۵.۰ قابلیت آیکون شمارنده | Facet Counts را به پنل مدیریت (Admin Site) اضافه کرده است که تعداد نتایج هر فیلتر را نمایش میدهد که.
این تعدادها نشان میدهند که برای هر گزینهی فیلتر، چه تعداد شیء (Object) وجود دارد. به این ترتیب، هنگام مشاهدهی صفحهی لیست رکوردها (Change List) در بخش مدیریت، راحتتر میتوان تشخیص داد که هر فیلتر چه تعداد نتیجه دارد.
در ادامه، تنظیم میکنیم که Facet Counts همیشه برای مدل مدیریتی PostAdmin نمایش داده شوند.
فایل admin.py برنامهی blog را ویرایش کرده و خطی که با پررنگ مشخص شده است را اضافه کنید:
from django.contrib import admin from .models import Post @admin.register(Post) class PostAdmin(admin.ModelAdmin): list_display = ['title', 'slug', 'author', 'publish', 'status'] list_filter = ['status', 'created', 'publish', 'author'] search_fields = ['title', 'body'] prepopulated_fields = {'slug': ('title',)} raw_id_fields = ['author'] date_hierarchy = 'publish' ordering = ['status', 'publish'] show_facets = admin.ShowFacets.ALWAYS
همچنین دو گزینه دیگر ALLOW. و NEVER. هم وجود دارد که مشهود است.
اکنون با استفاده از پنل مدیریت، چند Post ایجاد کنید و سپس به آدرس زیر بروید:
http://127.0.0.1:8000/admin/blog/post/
اکنون باید در کنار گزینههای فیلتر، تعداد رکوردهای مربوط به هر گزینه نیز نمایش داده شود؛ همانطور که در شکل زیر مشاهده میکنید.

شکل ۱.۱۵: فیلترهای فیلد Status همراه با تعداد (Facet Counts)
تنها با چند خط کد، نحوهی نمایش این مدل در پنل مدیریت را سفارشیسازی کردیم. روشهای بسیار زیادی برای شخصیسازی و گسترش پنل مدیریت جنگو وجود دارد که در ادامهی این کتاب با آنها آشنا خواهید شد.
برای اطلاعات بیشتر دربارهی پنل مدیریت جنگو، به مستندات رسمی مراجعه کنید:
https://docs.djangoproject.com/en/5.0/ref/contrib/admin/
پست قبلی: (۱.۱۰: شخصی سازی و ارتقا پنل ادمین جنگو)
پست بعدی: (1.12: کار با QuerySet و lookup ها)