Использование list_display_links в Django Admin

Максимизируем удобство с Django Admin и list_display_links

Долгое время я сталкивался с трудностями управления данными в моем веб-приложении на Django, особенно когда речь заходит о работе с моделями, содержащими большое количество полей. Однако благодаря функциональности Django Admin и, в частности, атрибуту list_display_links, я обнаружил способ значительно упростить этот процесс.

Давайте рассмотрим этот вопрос на конкретном примере. Предположим, у нас есть модель School с полями classroom, max_students и floor. Мы хотим, чтобы при просмотре списка объектов в Django Admin у нас была возможность быстро перейти к деталям конкретной аудитории, не тратя время на поиск нужной ссылки.

Шаг 1: Определение модели

# models.py

from django.db import models

class School(models.Model):
    classroom = models.CharField(max_length=50)
    max_students = models.PositiveIntegerField()
    floor = models.PositiveIntegerField()

Шаг 2: Настройка админ-панели

Откройте файл admin.py вашего приложения и зарегистрируйте модель School, добавив класс для настройки админ-панели:

# admin.py

from django.contrib import admin
from .models import School

class SchoolAdmin(admin.ModelAdmin):
    list_display = ('classroom', 'max_students', 'floor')
    list_display_links = ('classroom',)  # Определяем, какое поле будет являться ссылкой

admin.site.register(School, SchoolAdmin)

Шаг 3: Пользуйтесь удобством

Теперь, когда вы откроете Django Admin и перейдете к разделу с моделью School, вы увидите, что поле classroom стало кликабельным. При нажатии на него вы моментально перейдете к редактированию этой конкретной записи.

Использование list_display_links в Django Admin действительно упрощает навигацию и обеспечивает более быстрый доступ к деталям объектов. Этот маленький трюк сэкономит ваше время и сделает работу с вашим веб-приложением более удобной.

Освоив этот прием, вы сможете легко настраивать админ-панель Django под свои нужды, делая процесс управления данными еще более эффективным.

Егор Егоров

Программирую на Python с 2017 года. Люблю создавать контент, который помогает людям понять сложные вещи. Не представляю жизнь без непрерывного цикла обучения, спорта и чувства юмора.

Ссылка на мой github есть в шапке. Залетай.

Оцените автора
Егоров Егор
Добавить комментарий