Domanda

ho visto un paio di modi che si estendono informazioni utente degli utenti e ha deciso di adottare il metodo del modello di ereditarietà.

Per esempio, ho:

class Parent(User):
    contact_means = models.IntegerField()
    is_staff = False 
    objects = userManager()

Ora si è fatto, ho scaricato django_registration a darmi una mano con l'invio di messaggi di posta elettronica per i nuovi utenti. Il fatto è che, invece di utilizzare moduli di registrazione per registrare un nuovo utente, voglio richiamare l'e-mail di invio capacità / acitvation di django_registration. Quindi il mio flusso di lavoro è:

1. add new Parent object in admin page.
2. send email

Il mio problema è, il Django-registrazione crea un nuovo profilo di registrazione insieme ad un nuovo utente nella tabella utenti. come faccio a prelevarlo in modo tale che sono in grado di aggiungere la voce utente nella tabella utente personalizzato.

Ho cercato di creare un

  

modelAdmin

e modificare il metodo save_model per lanciare il create_inactive_user da django_registration, però non lo faccio come salvare l'oggetto utente generato dal django_registration nella mia tabella Padre quando ho utilizzando il modello di eredità e non ho un attributo chiave straniera nel mio genitore modello.

È stato utile?

Soluzione

E 'probabilmente qualcosa come:

p = Parent()
p.user_ptr = user
p.contact_means = ...
p.save()

(Django crea la chiave esterna per voi quando si fa modello di ereditarietà, più l'attributo che termina in _ptr)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top