如何在django中实现自定义用户管理器?

如何在django中实现自定义用户管理器?,django,django-users,Django,Django Users,我在Django中创建自定义User模型继承AbstractUser: class ChachaUser(AbstractUser): birth = models.DateField() gender = models.CharField(max_length=1, choices=GENDER_CHOICES) 和我的CustomUserCreationForm: GENDER_CHOICES = ( ('M', '남'), ('F', '여'), )

我在
Django
中创建自定义
User
模型继承
AbstractUser

class ChachaUser(AbstractUser):
    birth = models.DateField()
    gender = models.CharField(max_length=1, choices=GENDER_CHOICES)
和我的
CustomUserCreationForm

GENDER_CHOICES = (
    ('M', '남'),
    ('F', '여'),
)


class MyUserCreationForm(UserCreationForm):

    birth = forms.DateField(
        widget=forms.SelectDateWidget(
            years=range(1970, 2015)
        ),
        required=True,
    )
    gender = forms.ChoiceField(choices=GENDER_CHOICES, initial='M')

    class Meta(UserCreationForm.Meta):
        model = ChachaUser
        fields = UserCreationForm.Meta.fields + ('birth', 'gender')
但是我想通过
python manage.py createsuperuser
创建超级用户,我还必须实现
CustomUserManager

我在谷歌上搜索过,但没有任何例子。有什么想法或例子吗?

你感兴趣()

例如:

from django.contrib.auth.models import AbstractUser, UserManager

class CustomUserManager(UserManager):
    # your methods

class CustomUser(AbstractUser):
    # fields

    objects = CustomUserManager()
或者这样:

类CustomUser(用户):
objects=MyManager()
类元(对象):

proxy=True

首先导入
ChachaUser
使用
get\u user\u model()。如果需要将字段
gender,birth
添加到
createsuperuser
命令中,请使用
必填字段=['email','birth','gender']
@AnnaVracheva:效果很好!谢谢:)