如何在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:效果很好!谢谢:)