如何在Django 2. *管理面板中停止记录最近的操作和历史记录?

时间:2018-02-28 07:24:03

标签: python django python-3.x django-admin

全部!

我正在使用Django 2. *并且不知道如何从Django Admin面板中删除这个无用的日志功能。

我需要在Django管理面板中完全停止跟踪所有最近的操作和记录历史记录。

请帮我找一个解决方案。 (在我这里寻求帮助之前,我已经足够好了)

History in Django admin Recent actions in Django admin

1 个答案:

答案 0 :(得分:9)

这些日志记录条目是在ModelAdmin的3种方法中创建的:log_addition,log_change和log_deletion。因此,您需要做的是在继承形式为ModelAdmin的所有管理类中覆盖它们,并简单地返回这些方法的主体。

如果您有多个管理类,则可以创建一个mixin类来覆盖这些方法,并在所有管理类中继承它。请注意,您需要在 admin.ModelAdmin 之前继承mixin。

例如:

class DontLog:
    def log_addition(self, *args):
        return

    # Do same for log_change and log_deletion

@admin.register(Category)
class CategoryAdmin(DontLog, admin.ModelAdmin):
    pass

要删除历史记录按钮,您需要按照与您的问题的评论之一相关联的管理员文档中的说明编辑模板:

https://docs.djangoproject.com/en/2.0/ref/contrib/admin/#overriding-vs-replacing-an-admin-template