Пользовательские действия во вложенной модели Django
В настоящее время у меня есть модель Thing, которая имеет модель User в качестве внешнего ключа:
class Thing(models.Model):
user = models.ForeignKey(User, on_delete=models.PROTECT)
Если я использую Thing как отдельный в админке, я могу отменить удаление следующим образом:
class ThingAdmin(admin.ModelAdmin):
actions = ['delete_model']
def delete_model(self, request, obj):
for o in obj.all():
# Do stuff
o.delete()
Это работает: если я захожу в админку, я нажимаю на 'Things', выбираю, какие вещи я хочу удалить, и запускается пользовательская часть (я хотел бы, чтобы был способ создать кнопку вместо использования выпадающего списка, но это достаточно хорошо).
Однако я не хочу, чтобы вещи были отдельными в админке. Я хочу иметь их во вложенном представлении из модели User, чтобы я мог удалять их непосредственно из представления пользователя. По этой причине я использую django-nested-admin:
class ThingInline(nested_admin.NestedStackedInline):
actions = ['delete_model']
def delete_model(self, request, obj):
for o in obj.all():
# Do stuff
o.delete()
Все отображается нормально, но у меня нигде не появляется кнопка "удалить модель". Вопрос: как мне создать пользовательские действия для вложенных моделей?