【发布时间】: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