首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在管理员中创建用户时,自定义用户模型中的自定义字段不显示

可能是由于以下几个原因导致的:

  1. 未正确定义自定义字段:首先,确保在自定义用户模型中正确定义了自定义字段。在Django中,可以通过在models.py文件中的用户模型类中添加字段来定义自定义字段。例如,如果要添加一个名为custom_field的自定义字段,可以在用户模型类中添加以下代码:
代码语言:txt
复制
from django.contrib.auth.models import AbstractUser
from django.db import models

class CustomUser(AbstractUser):
    custom_field = models.CharField(max_length=100)
  1. 未进行数据库迁移:在定义完自定义字段后,需要运行数据库迁移命令,以将更改应用到数据库中。可以使用以下命令进行迁移:
代码语言:txt
复制
python manage.py makemigrations
python manage.py migrate
  1. 未在管理员界面中注册自定义用户模型:如果自定义用户模型未在管理员界面中注册,管理员界面将无法显示自定义字段。确保在admin.py文件中注册了自定义用户模型。例如,如果自定义用户模型为CustomUser,可以在admin.py文件中添加以下代码:
代码语言:txt
复制
from django.contrib import admin
from .models import CustomUser

admin.site.register(CustomUser)
  1. 未在管理员界面中自定义用户表单:如果自定义用户模型中的自定义字段仍然不显示,可能是因为默认的用户表单未包含自定义字段。可以通过自定义用户表单来显示自定义字段。首先,创建一个继承自UserCreationFormUserChangeForm的表单类,并添加自定义字段。然后,在admin.py文件中使用form属性将自定义表单与自定义用户模型关联。以下是一个示例:
代码语言:txt
复制
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.forms import UserCreationForm, UserChangeForm
from .models import CustomUser

class CustomUserCreationForm(UserCreationForm):
    class Meta(UserCreationForm.Meta):
        model = CustomUser
        fields = UserCreationForm.Meta.fields + ('custom_field',)

class CustomUserChangeForm(UserChangeForm):
    class Meta(UserChangeForm.Meta):
        model = CustomUser
        fields = UserChangeForm.Meta.fields + ('custom_field',)

class CustomUserAdmin(UserAdmin):
    add_form = CustomUserCreationForm
    form = CustomUserChangeForm
    model = CustomUser
    list_display = ['username', 'email', 'custom_field']

admin.site.register(CustomUser, CustomUserAdmin)

通过以上步骤,应该能够在管理员中创建用户时显示自定义用户模型中的自定义字段。如果仍然无法显示,请检查以上步骤是否正确执行,并确保自定义字段的命名和定义没有错误。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 2021年电商基础面试总结「建议收藏」

    ①技术更新较快:根据市场的需求,不断迭代更新. ②技术涉及面广:除了 PHP,还会用到 Python,GO 等其他的一些语言;数据库中 MySQL,nosql 是最频繁使用的(当然也有的公司会用 oracle,但是 PHP 一般都是以 MySQL 为主),服务器端使用 Linux(少部分公司会用到 Unix),还经常涉及到服务器安全、系统安全等安全方面的技术. ③分布式:从前的单一的机器上运行,现在是分散到不同机器上,最后将数据集中汇总。集中式向分布式进行发展是由需求来推动. ④高并发、集群(高可用集群)、负载均衡:由并发问题采用集群进行处理,其中,集群会涉及服务器的主从以及分布问题,使用负载均衡。(权重高低)高可用是对用户而言,用户的服务不中断(系统升级,服务不中断,公司电商系统的部分更新等)。 ⑤海量数据:每年商家的各类活动(双 11,双 12 等等)订单量、浏览数、商品量、活动相关数据都将会超级大超级多(一般随同高并发出现). ⑥业务复杂:电商业务并不简单:并不是商品展示出来后,简单的加入购物车后购买就完成了。除此以外后台业务逻辑是相当复杂,比如优惠(包邮、满减),秒杀,抢购等. ⑦系统安全:系统上线必须通过系统安全部门审核通过,安全性问题正逐步的被放到台面上,而且很多企业对这块相当重视.

    03

    【连载】如何掌握openGauss数据库核心技术?秘诀五:拿捏数据库安全(3)

    数据库发展早期,访问控制通常可以分为自主访问控制(Discretionary Access Control,DAC)以及强制访问控制(Mandatory Access Control,MAC)。在自主访问控制模式下,用户是数据对象的控制者,用户依据自身的意愿决定是否将自己的对象访问权或部分访问权授予其他用户。而在强制访问控制模式下,对特定用户指定授权,用户不能将权限转交给他人。在实际应用中,DAC模式太弱,MAC又太强,且两者工作量较大,不便于管理。基于角色的访问控制机制(Role-Based Access Control,RBAC)是一种更加灵活的机制,可以作为传统访问控制机制(DAC、MAC)的代替,也是较为有效的管理方法。

    01

    PHP在线客服系统平台源码(完全开源的网页在线客服系统)

    在线客服系统是一个使用PHP、JavaScript和CSS开发的即时网页聊天咨询系统。该项目包含管理员和用户端。管理员端管理所有的管理,如编辑站点内容、管理提供者和预订,管理员在这个系统的管理中起着重要的作用。   在线客服系统源码及演示:zxkfym.top   对于用户部分,用户可以浏览主页、关于和服务。用户可以是顾客谁需要家庭服务或服务提供商提供家庭服务的人。为了注册为服务提供商,用户必须填写注册表格。然而,要将服务提供商作为客户预订,用户可以先搜索可用的服务提供商,然后再进行预订。该项目为客户预订服务提供商提供了一种方便的方式,无需前往所需的服务中心。

    04
    领券