【问题标题】:Custom fields in Custom User model not showing up while creating user in admin在管理员中创建用户时,自定义用户模型中的自定义字段未显示
【发布时间】:2019-09-26 22:52:29
【问题描述】:

我正在使用带有额外字段“uid”的自定义用户模型。当我尝试从管理页面创建新用户时,uid 字段未显示。我已经创建了一个自定义用户创建和更新表单。请参阅下面的代码。

models.py

from django.db import models

# Create your models here.
from django.contrib.auth.models import AbstractUser

class CustomUser(AbstractUser):
    uid = models.CharField(max_length=50)

forms.py

from django import forms
from django.contrib.auth.forms import UserCreationForm, UserChangeForm
from .models import CustomUser

class CustomUserCreationForm(UserCreationForm):
    uid = forms.CharField(label = "uid")

    class Meta(UserCreationForm):
        model = CustomUser
        fields = ('username', 'password', 'uid')

    def save(self, commit=True):
        user = super(UserCreateForm, self).save(commit=False)
        user.uid = self.cleaned_data["uid"]
        if commit:
            user.save()
        return user

我错过了什么还是我做错了什么?请帮忙。

编辑: 管理员.py

from django.contrib import admin
from support.models import CustomUser
# Register your models here.
from django.contrib.auth import get_user_model
from django.contrib.auth.admin import UserAdmin
from .forms import CustomUserCreationForm, CustomUserChangeForm

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

admin.site.register(CustomUser, CustomUserAdmin)

【问题讨论】:

  • 将您的 admin.py 文件添加到问题中
  • @JPG。我在上面添加了 admin.py。

标签: python django django-authentication


【解决方案1】:

不知道这是否正确,如this answer https://stackoverflow.com/a/45701173/9740712所示更改CustomUserAdmin使额外字段出现。

【讨论】:

    猜你喜欢
    • 2015-02-16
    • 1970-01-01
    • 2023-03-08
    • 2013-06-01
    • 1970-01-01
    • 2021-12-13
    • 2012-08-24
    • 2021-06-10
    • 1970-01-01
    相关资源
    最近更新 更多