Пользовательский класс администратора действия удаления в django
Я хочу сделать пользовательское удаление действия класса admin с перезаписью функции delete в admin.py , но это не работает ! вот такая ошибка : Пост с ID "<django.db.models.query_utils.DeferredAttribute object at 0x0000020BF060A450>" не существует. Возможно, он был удален?
Я прочитал и использовал этот код на следующем сайте, но он не работает:
сайт, на котором я его использовал
class PostAdmin(admin.ModelAdmin):
list_display = ('delete',)
def delete(self, obj):
view_name = "admin:{}_{}_delete".format(obj._meta.app_label, obj._meta.model_name)
link = reverse(view_name, args=[Post.id])
html = '<input type="button" onclick="location.href=\'{}\'" value="Delete" />'.format(link)
return format_html(html)
Используйте obj.id
, а не :Post.id
class PostAdmin(admin.ModelAdmin):
list_display = ('delete',)
def delete(self, obj):
view_name = 'admin:{}_{}_delete'.format(
obj._meta.app_label, obj._meta.model_name
)
link = reverse(view_name, args=[obj.id])
return format_html(
'<input type="button" onclick="location.href=\'{}\'" value="Delete" />',
link,
)