Question

J'ai vu deux façons extension des informations utilisateur des utilisateurs et a décidé d'adopter la méthode de l'héritage du modèle.

par exemple, je:

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

Maintenant, il est fait, je l'ai téléchargé django_registration me aider à envoyer des e-mails aux nouveaux utilisateurs. La chose est, au lieu d'utiliser les formulaires d'inscription pour enregistrer un nouvel utilisateur, je veux invoquer l'e-mail l'envoi d'une capacité / de acitvation de django_registration. Donc, mon flux de travail est:

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

Mon problème est, le django-inscription crée un nouveau profil d'enregistrement avec un nouvel utilisateur dans la table utilisateur. comment puis-je tweak ce tel que je suis en mesure d'ajouter l'entrée de l'utilisateur dans la table utilisateur personnalisée.

J'ai essayé de créer un

  

modelAdmin

et modifier la méthode save_model pour lancer le create_inactive_user de django_registration, mais je ne sais pas comment enregistrer l'objet généré par l'utilisateur à partir django_registration dans ma table de parent quand je l'ai en utilisant l'héritage de modèle et je n'ai pas un attribut clé étrangère dans mon parent modèle.

Était-ce utile?

La solution

Il est probablement quelque chose comme:

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

(Django crée la clé étrangère pour vous lorsque vous faites l'héritage de modèle, plus l'attribut se terminant par _ptr)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top