Продолжаем наводить лоск в админке, сейчас сделаем вот так:
Источник: https://github.com/django-mptt/django-mptt/blob/master/docs/admin.rst
Продолжаем наводить лоск в админке, сейчас сделаем вот так:
Источник: https://github.com/django-mptt/django-mptt/blob/master/docs/admin.rst
Панель администратора Django позволяет создавать дополнительные экшены, на примере дефолтного: удлалить несколько объектов. В данной заметке, я сохранил рецепт как создать экшен для изменения категории с промежуточной страницей.
Поговорим о способе реализации иерархического хранения данных со структурой каталогов. Отличный пример — интернет магазин, где определенный товар находится в определенной ветке дерева категорий. Или иерархия адресов: Когда для определенных городов, есть общий родитель — государство и т.д.
В данном случае, необходимо пройти по дереву с применением рекурсии. Однако в Django уже есть готовое решение django-mptt.
MPTT(Modified Preorder Tree Traversal) / Nested Sets — один из способов обхода деревьев категорий. В двух словах — метод обхода иерархических деревьев, когда в БД есть структура: id, parent_id, name. А нам необходим способ рекурсивно пройти по нему извлечь ветки для потомком особо не нагружая базу данных