Встречается на собеседованиях • сегодня

Как изменить отображение модели в админке

Для изменения отображения модели в Django Admin нужно создать класс ModelAdmin и зарегистрировать его. Основные возможности:

python
from django.contrib import admin
from .models import MyModel

@admin.register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
    list_display = ('field1', 'field2', 'custom_method')  # Какие поля показывать в списке
    list_filter = ('status', 'created_at')  # Фильтры справа
    search_fields = ('title', 'description')  # Поиск по полям
    ordering = ('-created_at',)  # Сортировка
    readonly_fields = ('slug',)  # Только для чтения
    
    def custom_method(self, obj):
        return f"Custom: {obj.field1}"
    custom_method.short_description = 'Custom Column'

Дополнительные опции:

  • list_editable - редактируемые поля прямо в списке
  • fieldsets - группировка полей на форме редактирования
  • prepopulated_fields - автозаполнение (например, slug из title)
  • date_hierarchy - навигация по датам

Для более сложной кастомизации можно переопределить шаблоны админки.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы