il mio obiettivo è quello di creare un modello di utente personalizzato in Django 1,5Impossibile creare super-utente con modello di utente personalizzato in 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']
non riesco a creare un super utente a causa del campo dell'azienda (models.ForeignKey ('Company') (python manage.py createsuperuser) la mia domanda:..
Come posso creare un super utente per la mia applicazione senza una società ho cercato di fare un MyUserManager personalizzato senza alcun successo:
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
Oppure devo creare un'azienda fittizia per questo utente? Grazie
Perché è necessaria azienda? – iMom0
Nel mio modello, un utente senza un'azienda non può esistere. Ma c'è un'eccezione per il superutente. Ho ricevuto questo errore senza REQUIRED_FIELDS: IntegrityError: app_myuser.company_id potrebbe non essere NULL –
È possibile specificare un'azienda predefinita per tutti. – iMom0