我在我的模型中定义了delete()方法。我用它来清除缓存和删除拇指。当我在admin中删除一个元素时,在它的详细信息(编辑模式)中,缓存被清除,所有的拇指都被删除。但是,当我想要一次删除几个元素时-选中元素列表上的复选框-元素会被删除,但cahce和缩略图不会被删除,所以我的model delete方法没有被创建:/
我怎么才能修复它?
发布于 2011-03-08 18:09:40
它位于the documentation的第一部分。出于效率的原因,Django Admin在queryset对象上调用delete。这完全绕过了每个实例的delete方法。阅读文档。
如果您希望覆盖此行为,只需编写一个自定义操作,该操作将以您喜欢的方式完成删除-例如,通过为每个选定项调用Model.delete()。
发布于 2013-02-06 11:57:39
如文档中所述,您需要覆盖delete selected操作:
def delete_selected(modeladmin, request, queryset):
for element in queryset:
element.delete()
delete_selected.short_description = "Delete selected elements"
class ElementAdmin(admin.ModelAdmin):
actions = [delete_selected]
admin.site.register(Element, ElementAdmin)https://stackoverflow.com/questions/5230383
复制相似问题