Django Admin "Изменить выделение" Действие? - PullRequest
2 голосов
/ 26 ноября 2009

Я хотел бы написать действие django-admin (для использования, когда пользователь выбирает ноль или более строк), которое позволит им редактировать выбранные элементы как группу. Мне нужно редактировать только один из элементов модели («комнату») за раз, но мне не нужно просматривать все 480 моих объектов и вручную редактировать их по одному.

Есть ли способ открыть промежуточную страницу, которая позволяет пользователю редактировать элементы как группу?

Ответы [ 4 ]

3 голосов
/ 27 ноября 2009

Вы можете создавать собственные действия администратора, а с помощью JavaScript или пользовательских форм ModleForms вы можете легко создавать всплывающие окна или оповещения, или все, что вы хотите сделать. Например, у меня есть это в админке для одного из моих приложений:

admin.py:

def deactivate_selected(modeladmin, request, queryset):
    rows_updated = queryset.update(active=0)
    for obj in queryset: obj.save()
    if rows_updated == 1:
        message_bit = '1 item was'
    else:
        message_bit = '%s items were' % rows_updated
    modeladmin.message_user(request, '%s successfully deactivated.' % message_bit)
deactivate_selected.short_description = "Deactivate selected items"

## add deactivates 
admin.site.add_action(deactivate_selected)

Это добавляет параметр «Деактивировать выбранные элементы» на странице администратора.

Мне кажется, что было бы легко сделать настраиваемое действие для "Обновить комнату для выбранных элементов", которое бы отображало приглашение JavaScript, принимало этот ввод и передавало его функции настраиваемого действия для выполнения того, что вам нужно делаем.

Подробнее об этом можно прочитать здесь: Написание действий администратора Django .

0 голосов
/ 22 февраля 2017

Вы можете загрузить действия django-admin с помощью pip

pip install django-adminactions

Это приложение, которое предоставляет вам множество действий django-admin, таких как массовое редактирование.

См. Установку здесь: http://django -adminactions.readthedocs.io / en / latest / install.html

0 голосов
/ 18 января 2013

Этот код добавляет действие django-admin, чтобы делать то, что вы хотите http://code.google.com/p/django-mass-edit/

0 голосов
/ 26 ноября 2009

Могут быть способы сделать это в админе, но почему бы просто не создать собственное представление для этого?

Когда вы начинаете заниматься тяжелыми настройками администратора, это означает, что вы должны начать писать собственное приложение, которое вы можете легко изменить. На самом деле очень легко получить большинство функций администратора, используя универсальные представления .

Помните, " Администратор не ваше приложение. "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...