【问题标题】:Changing django default admin history functionality更改 django 默认管理员历史记录功能
【发布时间】:2012-02-10 10:23:20
【问题描述】:

我正在现有数据库之上构建一个 Django 应用程序,该数据库已经在表上具有“审计类型”触发器以记录对记录的更改。我想做两件事:

  1. 点击“历史”按钮时显示此信息
  2. 禁用添加/编辑模型对象尝试在“django_admin_log”中创建记录的功能 - 请记住,该表上有一个触发器正在更新另一个表。

我怎样才能最好地实现这两个目标?

注意:我将 Python 2.6.5 与 Django 1.3.1 和 PostgreSQL 9.1 一起使用

【问题讨论】:

  • 为什么不在两个表中记录两次呢?
  • @uvasal 感谢您的评论。我想我可以。但是,这感觉就像是简单的出路。我想看看“做对”并且只记录一次是多么困难。不过请不要将其视为批评。
  • 好吧,恕我直言,花任何时间在琐碎的事情上都是浪费时间。如果你有很多用户,我会创建一个触发器或一个 cronjob 来删除表中的数据

标签: python django django-models django-admin


【解决方案1】:

我认为一种解决方案可能是通过overriding the queryset method in your ModelAdmin subclass 禁用 LogEntryManager。然后您可以将历史记录 url 映射到您的自定义管理日志应用程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-15
    • 1970-01-01
    相关资源
    最近更新 更多