如何在Django中实现自定义用户管理器? [英] How can I implement custom user manager in django?

查看:54
本文介绍了如何在Django中实现自定义用户管理器?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了自定义 User 模型,这些模型继承了 Django 中的 AbstractUser :

I create custom User models inheriting AbstractUser in Django :

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 .

But I want create superuser by python manage.py createsuperuser, I have to implement CustomUserManager, too.

我用Google搜索了它,但没有任何示例.有什么想法或例子吗?

I googled it but there aren't any examples. Any idea or example please?

推荐答案

您对示例:

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

class CustomUserManager(UserManager):
    # your methods

class CustomUser(AbstractUser):
    # fields

    objects = CustomUserManager()

这篇关于如何在Django中实现自定义用户管理器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆