Assegnare un utente dal model con Utente personalizzato

17 views
Skip to first unread message

Lorenzo Macchiavelli

unread,
Aug 15, 2018, 2:41:37 AM8/15/18
to djan...@googlegroups.com
Buongiorno a tutti,
Ho esteso il modello utente utilizzando un modello personalizzato AbstractUser,

  1. class User(AbstractUser):
  2.     username = None
  3.     email = models.EmailField(_('email address'), unique=True)
  4.    
  5.     is_active = models.BooleanField(default=False)
  6.  
  7.     USERNAME_FIELD = 'email'
  8.     REQUIRED_FIELDS = []
  9.  
  10.     objects = UserManager()

Dal model provando ad assegnare l'utente ad un oggetto in questo modo:

  1. from django.conf import settings
  2.    from django.contrib.auth import get_user_model
  3.    class Book(models.Model):
  4.         author = models.ForeignKey(settings.AUTH_USER_MODEL)
  5. (Oppure)
  6.    from django.contrib.auth import get_user_model
  7.    User = get_user_model()
  8.    class Book(models.Model):
  9.         author = models.ForeignKey(User)


nel db  per il campo author viene sempre salvato NULL.
Cosa sto sbagliando?

Grazie
buona giornata

Lorenzo Macchiavelli

davide olianas

unread,
Aug 15, 2018, 4:13:33 AM8/15/18
to djan...@googlegroups.com


Il mer 15 ago 2018, 08:41 Lorenzo Macchiavelli <lmacch...@gmail.com> ha scritto:
Buongiorno a tutti,
Ho esteso il modello utente utilizzando un modello personalizzato AbstractUser,
[...] 
nel db  per il campo author viene sempre salvato NULL.
Cosa sto sbagliando?

Ciao, 
A naso direi che stai provando ad ottenere un utente per un client anonimo. Ti chiedo: nelle view come ottieni l'oggetto utente? 

Saluti, 
Davide 

Lorenzo Macchiavelli

unread,
Aug 16, 2018, 4:05:24 AM8/16/18
to djan...@googlegroups.com
Ciao Grazie per la risposta,

 Ti chiedo: nelle view come ottieni l'oggetto utente? 

L'unica funzione utente per il momento che ho 
in una view, è quella di autenticazione; che ottengo
sempre allo stesso modo:

from django.contrib.auth import get_user_model
User = get_user_model()

user = User.objects.get(pk=uid)

qui funziona,
qualche idea?
grazie buona giornata


Lorenzo Macchiavelli

Reply all
Reply to author
Forward
0 new messages