Files
hossein-por-shop/backend/blog/admin.py
T
2025-03-13 19:42:48 +03:30

33 lines
1.1 KiB
Python

from django.contrib import admin
from .models import *
from import_export.admin import ImportExportModelAdmin
from unfold.contrib.import_export.forms import ExportForm, ImportForm, SelectableFieldsExportForm
from unfold.contrib.forms.widgets import ArrayWidget, WysiwygWidget
from django.contrib.postgres.fields import ArrayField
from utils.admin import ModelAdmin
from unfold.widgets import UnfoldAdminTextareaWidget
@admin.register(BlogModel)
class BlogModelAdmin(ModelAdmin, ImportExportModelAdmin):
import_form_class = ImportForm
export_form_class = ExportForm
search_fields = ['title', 'content', 'summery', ]
list_filter = ['category', 'is_published', 'author']
compressed_fields = True
warn_unsaved_form = True
formfield_overrides = {
models.TextField: {
"widget": WysiwygWidget,
},
ArrayField: {
"widget": ArrayWidget,
}
}
def formfield_for_dbfield(self, db_field, request, **kwargs):
if db_field.name == "summery":
kwargs["widget"] = UnfoldAdminTextareaWidget()
return super().formfield_for_dbfield(db_field, request, **kwargs)