moim celem jest stworzenie własnego modelu użytkownika w Django 1,5Nie można utworzyć super-użytkownika z niestandardowym modelu użytkownika w 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']
Nie mogę stworzyć super user powodu pola firmie (models.ForeignKey ("Firma") (python manage.py createsuperuser). Moje pytanie:
Jak utworzyć superużytkownika do mojej aplikacji bez firmy Próbowałem utworzyć niestandardowego MyUserManager bez powodzenia:
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
Czy muszę utworzyć fałszywą firmę dla tego użytkownika? Dziękuję
Dlaczego potrzebny jest firma? – iMom0
W moim modelu użytkownik bez firmy nie może istnieć. Ale jest wyjątek dla superużytkownika. Otrzymałem ten błąd bez REQUIRED_FIELDS: IntegrityError: app_myuser.company_id nie może mieć wartości NULL –
Możesz określić domyślną firmę dla wszystkich. – iMom0