Pregunta

vi un par de formas que se extienden información de usuario de los usuarios y decidió adoptar el método de modelo de herencia.

por ejemplo, que tengo:

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

Ahora se hace, he descargado django_registration para que me ayude con el envío de correos electrónicos a los nuevos usuarios. La cosa es que, en lugar de utilizar formularios de registro para registrar nuevo usuario, quiero invocar el envío de la capacidad / acitvation de django_registration de correo electrónico. Así que mi flujo de trabajo es:

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

Mi problema es que el django-registro crea un nuevo perfil de registro, junto con un nuevo usuario en la tabla de usuario. ¿cómo modifico esto de tal manera que soy capaz de agregar la entrada del usuario en la tabla de usuario personalizado.

Me han tratado de crear un

modelAdmin

y alterar el método save_model para lanzar el create_inactive_user de django_registration, sin embargo no lo hago cómo guardar el objeto de usuario generada a partir de django_registration en mi tabla primaria cuando he utilizando modelo de herencia y no tener un atributo de clave externa en mi padre modelo.

¿Fue útil?

Solución

Es probablemente algo como:

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

(Django crea la clave externa para que cuando se hace modelo de herencia, más el atributo que termina en _ptr)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top