我的目标是在Django 1.5中创建自定义用户模型
# myapp.models.py
from django.contrib.auth.models import AbstractBaseUser
class MyUser(AbstractBaseUser):
email = models.EmailField(
verbose_name='email address',
max_length=255,
unique=True,
db_index=True,
)
first_name = models.CharField(max_length=30, blank=True)
last_name = models.CharField(max_length=30, blank=True)
company = models.ForeignKey('Company')
...
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['company']
Run Code Online (Sandbox Code Playgroud)
由于公司字段(models.ForeignKey('Company')(python manage.py createsuperuser),我
无法创建超级用户.我的问题:如何在没有公司的情况下为我的应用程序创建超级用户.我试图制作自定义MyUserManager但没有任何成功:
class MyUserManager(BaseUserManager):
...
def create_superuser(self, email, company=None, password):
"""
Creates and saves a superuser with the given email and password.
"""
user = self.create_user(
email,
password=password,
)
user.save(using=self._db)
return user
Run Code Online (Sandbox Code Playgroud)
或者我是否必须为此用户创建虚假公司?谢谢