Пользовательские поля в модели Custom User не отображаются при создании пользователя в admin - PullRequest
0 голосов
/ 09 мая 2019

Я использую пользовательскую модель с дополнительным полем '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

Я что-то упустил или я делаю это неправильно? пожалуйста, помогите.

Edit: admin.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)

1 Ответ

0 голосов
/ 09 мая 2019

Не знаю, правильно ли это, изменив CustomUserAdmin, как показано в этом ответе https://stackoverflow.com/a/45701173/9740712, чтобы появилось дополнительное поле.

...