mục tiêu của tôi là tạo ra một mô hình người dùng tùy chỉnh trong Django 1,5Không thể tạo siêu người dùng với mô hình người dùng tùy chỉnh trong 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']
Tôi không thể tạo một người dùng siêu vì lĩnh vực công ty (models.ForeignKey ('Company') (python manage.py createuperuser) Câu hỏi của tôi:
Làm cách nào để tạo một người dùng siêu cho ứng dụng của tôi mà không có một công ty. Tôi đã cố gắng tạo MyUserManager tùy chỉnh mà không thành công:
class MyUserManager(BaseUserManager):
...
def create_superuser(self, email, company=None, password):
"""
Creates and saves a superuser with the given email, date of
birth and password.
"""
user = self.create_user(
email,
password=password,
)
user.save(using=self._db)
return user
Hoặc tôi có phải tạo công ty giả cho người dùng này không? Cảm ơn bạn
Tại sao công ty là cần thiết? – iMom0
Trong mô hình của tôi, người dùng không có công ty không thể tồn tại. Nhưng có một ngoại lệ cho superuser. Tôi nhận được lỗi này mà không REQUIRED_FIELDS: IntegrityError: app_myuser.company_id có thể không là NULL –
Bạn có thể chỉ định một công ty mặc định cho tất cả. – iMom0