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

Django admin报错:psycopg2.errors.UndefinedTable django_admin_log不存在

解决Django admin提示"django_admin_log does not exist"的方案

问题根源

这个错误是因为Django内置admin模块依赖的数据库表(包括django_admin_log)未被正确创建,大概率是迁移流程中出现了遗漏或异常。

分步解决办法

  1. 检查INSTALLED_APPS配置
    打开项目的settings.py,确认django.contrib.admin在INSTALLED_APPS列表内,没有的话补充添加:

    INSTALLED_APPS = [
        'django.contrib.admin',
        # 其他你的应用及Django默认应用
    ]
    
  2. 重置迁移并重新执行

    • 若使用SQLite,直接删除项目根目录的db.sqlite3文件;若使用PostgreSQL,登录数据库删除对应库后重建。
    • 删除所有应用下的migrations文件夹(若有__init__.py可保留,也可全部删除)。
    • 依次执行以下命令:
      python manage.py makemigrations
      python manage.py migrate
      
  3. 单独迁移admin应用
    全量迁移无效时,单独对admin应用执行迁移:

    python manage.py migrate admin
    

    若提示无迁移可执行,先运行python manage.py makemigrations admin生成admin的迁移文件,再执行上述迁移命令。

  4. 重新创建超级用户
    迁移完成后,重新生成超级用户:

    python manage.py createsuperuser
    

    之后尝试登录admin页面。

  5. 核对数据库连接信息
    检查settings.py中的DATABASES配置,确保PostgreSQL的库名、用户名、密码、端口均正确,且数据库已创建、用户具备读写权限:

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql',
            'NAME': '你的数据库名',
            'USER': '数据库用户名',
            'PASSWORD': '数据库密码',
            'HOST': 'localhost',
            'PORT': '5432',
        }
    }
    

内容的提问来源于stack exchange,提问作者Sam Schonenberg

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 15:31:01