2009-11-25 2 views
2

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

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

ответ

-1

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

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

Помните, что «The Admin is not your app.»

3

Вы можете создавать собственный администратор действия, и с помощью 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, сделало бы этот ввод и предоставило его пользовательской функции действий, чтобы выполнить то, что вам нужно делать.

Подробнее об этом можно прочитать здесь: Writing Django Admin Actions.

0

Вы можете скачать действия Джанго-администратора с пип

пункт установить Django-adminactions

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

См. Здесь: http://django-adminactions.readthedocs.io/en/latest/install.html

Смежные вопросы