Zbiorowa edycja w panelu administracyjnym Django

  • Home
  • /
  • Blog
  • /
  • Zbiorowa edycja w panelu administracyjnym Django

Data: 16 sierpnia, 2010

Jeśli w panelu administracyjnym Django brakowało Ci możliwości jednoczesnej edycji wielu obiektów, teraz masz szansę to zmienić.

Wielbiciele frameworka Django zapewne zgodzą się ze stwierdzeniem, że jednym z jego większych atutów jest automatycznie generowany panel administracyjny, który odpowiednio dostosowany sprawdza się w całkiem szerokiej gamie aplikacji webowych. Jednak wraz z rosnącą ilością danych zarządzanie nimi w sposób zbiorowy staje się co raz trudniejsze, a czasami wręcz niemożliwe. System akcji częściowo rozwiązuje problem, jednak wymaga wcześniejszego zdefiniowania, jaka czynność ma być przeprowadzona zbiorowo na zaznaczonych obiektach i nie zapewnia żadnej interaktywności.

Django Mass Change Admin Site Extension (DMCASE), czyli rozszerzenie panelu administracyjnego pozwalające na zbiorowe zarządzanie obiektami pozwala wybrać, które elementy chcemy edytować, a następnie zmieniać zawartość poszczególnych pól na stronie podobnej do zwykłej strony edycji obiektu. Różnica polega na tym, że dodatkowo zaznaczamy zmiany z którego z pól mają zostać zaaplikowane do wszystkich uprzednio zaznaczonych obiektów. Sposób działania najprościej prześledzić na obrazkach zamieszczonych w oryginalnym wpisie.

Rozszerzenie jest dostępne na licencji BSD, czyli można go używać dowolnie pod warunkiem, że załączana będzie jego licencja. Link do pobierania w oryginalnym wpisie. Miłej zabawy!

Podobne wpisy

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone


  1. bwana pisze:

    Hm, odpaliłem i faktycznie działa. Problem w tym, że czasami potrzebuję zmienić coś masowo w 1000 wpisów, a one nie mieszczą się na jednej stronie w panelu admina i nie mogę wówczas skorzystać z tego udogodnienia bo wymaga on zaznaczenia obiektów do edycji. Czy autor ma jakiś pomysł na rozwiązanie tej niedogodności?

    1. sadaszewski pisze:

      Hmm, racja. Pomysł mam taki, żeby zmienić trochę architekturę tego rozwiązania – oprzeć listę edytowanych obiektów o queryset, a nie na wyciąganej bezpośrednio z request’a z panelu admin’a liście id obiektów. Wówczas do systemu akcji podpięta mogłaby pozostać wersja, która generuje queryset z request’a adminowego, a niezależnie można by przygotować stronę, która pozwala skonstruować dowolny queryset. Mogłoby to być oparte o system filtrów w panelu admin’a albo o oddzielną stronkę, gdzie byłby filtr dla każdego pola albo zupełnie custom-owe zapytanie SQL-owe. Możliwości jest wiele, myślę jednak, że najważniejsze było zrobić ten pierwszy krok właśnie po to, żeby przeczytać takie uwagi.

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

Newsletter OSnews raz w tygodniu. Bez reklam.