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

使用Django内置User模型注册用户,Admin面板不显示数据求助

解决Django注册用户不在Admin面板显示的问题

以下是几个常见原因和对应的排查、解决方法:

1. 用户数据未真正写入数据库

  • 检查注册视图代码,确保创建User实例后调用了user.save();如果用的是ModelForm,要在form.is_valid()验证通过后执行form.save(),漏写这一步数据根本不会存进数据库。
  • 可以通过python manage.py shell快速验证:执行from django.contrib.auth.models import User; print(User.objects.all()),如果输出里没有新注册的用户,说明确实没保存成功。

2. 用户的is_active字段为False

Django Admin默认只展示is_active=True的用户。如果注册时没显式设置user.is_active = True,用户会被存入数据库但Admin里看不到。

  • 修复方法:在视图创建用户时添加user.is_active = True,再调用save()。
  • 也可以直接查看数据库auth_user表中对应用户的is_active值,确认是否为1(代表True)。

3. Admin后台被自定义过滤了用户范围

如果项目里重写了UserAdmin,可能不小心限制了显示的用户范围:

  • 检查项目的admin.py,如果有类似下面的代码,要去掉过滤超级用户的逻辑:
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User

class CustomUserAdmin(UserAdmin):
    def get_queryset(self, request):
        qs = super().get_queryset(request)
        # 注释或删除下面这行限制代码
        # return qs.filter(is_superuser=True)
        return qs

admin.site.unregister(User)
admin.site.register(User, CustomUserAdmin)

4. 多数据库配置导致数据存错库

如果项目配置了多个数据库,要确认视图里保存用户时用的是默认数据库,没有指定其他数据库(比如user.save(using='other_db')),否则Admin从默认库查不到数据。

内容的提问来源于stack exchange,提问作者Prashant sharma

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 22:14:56