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

如何将django_migrations表或MigrationRecorder模型注册到Django-admin面板?

解决Django中注册django_migrations表到Admin面板的问题

你尝试的两种方法都无法成功,原因如下:

  • 第一种方法注册的是MigrationRecorder工具类,而非实际映射到django_migrations表的模型类,因此Admin面板无法识别。
  • 第二种方法虽然指向了正确的MigrationRecorder.Migration模型,但由于该模型属于Django内部的migrations应用,默认未配置Admin显示字段和权限,导致即便注册后也可能无法正常展示或操作。

正确的做法是为该模型创建自定义ModelAdmin类,指定显示字段和操作规则后再完成注册:

from django.db.migrations.recorder import MigrationRecorder
from django.contrib import admin

class MigrationAdmin(admin.ModelAdmin):
    # 列表页显示的核心字段
    list_display = ('app', 'name', 'applied')
    # 可快速筛选的字段
    list_filter = ('app', 'applied')
    # 可搜索的字段
    search_fields = ('name',)
    # 设为只读避免误修改迁移记录
    readonly_fields = ('app', 'name', 'applied')

# 注册模型及对应的Admin配置
admin.site.register(MigrationRecorder.Migration, MigrationAdmin)

注册完成后重启Django服务,你会在Admin面板的Migrations栏目下看到django_migrations表的管理入口。建议保留只读设置,防止误操作破坏迁移记录的完整性。

内容的提问来源于stack exchange,提问作者Amir Abedi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 17:11:13