You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Django Admin站点注册django-simple-history生成的模型?

注册django-simple-history生成的历史模型到Django Admin

步骤说明:

  1. 导入历史模型
    在项目的admin.py文件中,导入自动生成的HistoricalQuestion模型(它和你的Question模型在同一个models模块下):
from .models import Question, HistoricalQuestion
  1. (可选)自定义Admin类优化后台展示
    历史模型默认包含history_id、history_date、history_user、history_change_reason等追踪字段,同时保留原Question模型的所有字段。你可以自定义ModelAdmin类,控制后台列表显示的字段、筛选条件等,让历史记录更易读:
from django.contrib import admin

class HistoricalQuestionAdmin(admin.ModelAdmin):
    # 列表页显示的核心字段
    list_display = ('id', 'question_text', 'history_date', 'history_user', 'history_change_reason')
    # 可筛选的维度
    list_filter = ('history_date', 'history_user')
    # 可搜索的字段
    search_fields = ('question_text',)
    # 历史记录为只读,禁止修改
    readonly_fields = ('history_id', 'history_date', 'history_user', 'history_change_reason')
  1. 注册历史模型
    和普通模型的注册方式一致,若使用了自定义Admin类,将其作为第二个参数传入:
# 注册原Question模型(若未注册)
admin.site.register(Question)
# 注册历史模型
admin.site.register(HistoricalQuestion, HistoricalQuestionAdmin)

完成以上操作后,你就能在Django Admin后台找到HistoricalQuestion的管理入口,查看所有Question模型的变更历史记录。

内容的提问来源于stack exchange,提问作者Shamsudeen McHalwai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 03:25:17