добавить для каждого элемента списке кнопку, которая будет удалять все записи связанные с кодом. Очень мало подходящих гайдов нашёл, но по ним сварганил это. Но выдаёт ошибку: name "url" is not defined. Как решить проблему?
P.S. кнопка должна выполнять действие с базой без перехода на другую страницу
class UserCodeAdmin(admin.ModelAdmin):
list_display = ('code', 'book', 'deleteSubscriptionsByCode')
def get_urls(self):
urls=super().get_urls()
custom_urls=[ url(r'^(?P<code_id>.+)/delete/$', self.process_import, name='deleteSubscriptionsByCode'), ]
return custom_urls+urls
def deleteSubscriptionsByCode(self, obj):
return HttpResponseRedirect("../")
т.е. задача в том, чтобы за один присест в админке обновить большое количество объектов?
Чтобы по нажатию на кнопку удалялись записи связанные с данным кодом. Метод deleteSubscriptionsByCode ещё недоработан, пока пытаюсь решить проблему генерации кнопки
class FooAdmin(admin.ModelAdmin): ... actions = ['bar'] def bar(self, request, queryset): ids = queryset.values_list('id', flat=True) Subs.objects.filter(id__in=ids) self.message_user(request, "Deactivated.") Вот простой дедовский метод. Это не кнопка, но я за тебя уже код написал.
С action'ом у меня вопросов нет, это я и сам могу. Вопрос именно в кнопке.
Меняй темплейт админки. Вообще админку придумали не для того, чтобы её особо кастомизировать
Обсуждают сегодня