[pyar] Multiples usuarios en Django 1.6.5 (Ariel Wolfmann)

Ariel Wolfmann awolfmann en gmail.com
Mar Jul 22 12:39:03 ART 2014


Hola, primero que nada gracias por las respuestas.

Luego de leer sus comentarios y seguir investigando, lo que estoy haciendo
es usar la idea de  User Profiles para guardar los datos relevantes para
cada tipo de usuario.
Para agregar el campo tipo al User de django, tendria que usar el abstract
user y redefinir todos los forms, etc?

Y tendria que tambien redefinir todo para el admin?
Probe de adaptar este ejemplo, para que el profile sea Inline de User:
https://docs.djangoproject.com/en/dev/topics/auth/customizing/#extending-the-existing-user-model

Pero no se como hacer para que me aparezcan las 2 opciones(comprador y
vendedor) desde el admin, solo me aparece user, y cuando creo un nuevo
user, tengo que completar los datos de ambos perfiles..

basandome en el ejemplo, probé con:
class UserAdmin(UserAdmin):
    inlines = (CompradorInline, VendedorInline)

o con
class CompradorAdmin(UserAdmin):
    inlines = (CompradorInline)

class VendedorAdmin(UserAdmin):
    inlines = (VendedorInline)

En este caso el problema es el register del User..


Desde ya muchas gracias nuevamente


Saludos



>
>
>    2. Re: Multiples usuarios en Django 1.6.5 (Luis Masuelli)
>    3. Re: Multiples usuarios en Django 1.6.5 (Andres Riancho)
>    4. Re: Multiples usuarios en Django 1.6.5 (Luis Masuelli)
>    5. Re: Multiples usuarios en Django 1.6.5 (Esteban Castro)
>
>
> ----------------------------------------------------------------------
>
>
>
> ------------------------------
>
> Message: 2
> Date: Tue, 22 Jul 2014 16:22:25 +0200
> From: Luis Masuelli <luismasuelli en hotmail.com>
> To: Python Argentina <pyar en python.org.ar>
> Subject: Re: [pyar] Multiples usuarios en Django 1.6.5
> Message-ID: <BAY174-W28380EE7F71E498610C8A5CAF10 en phx.gbl>
> Content-Type: text/plain; charset="iso-8859-1"
>
> No banca definir multiples AUTH_USER_MODEL. La onda es que
> get_user_model() devuelve un modelo (el que esté puesto en
> AUTH_USER_MODEL). Vas a tener que valerte, al mejor estilo POO, de roles
> (no me estoy refiriendo, con esto, al esquema de permisos/grupos de Django;
> me refiero a esta idea de tener multiples perfiles - uno para cada
> necesidad; obvio el esquema de permisos TAMBIEN es algo de lo que te vas a
> tener que valer, pero en otro aspecto).
> El modelo de usuario va a ser el mismo, o uno parecido. El mismo puede ser
> referenciado por N tablas diferentes - cada una será un perfil diferente
> (en este caso N=2: perfil de comprador, perfil de vendedor - no sé en qué
> medida un perfil de staff puede ser necesario, ya que la administración
> django te la da con el admin).
> Podrías redefinir has_perm y has_perms en tu modelo de usuario (que
> debería bajar de AbstractUser o AbstractBaseUser para tener la jodita del
> mixin de permisos) que hagan lo siguiente:    * si el usuario tiene el
> perfil de comprador, el metodo responda TRUE para determinado conjunto de
> permisos.    * si el usuario tiene el perfil de vendedor, el metodo
> responda TRUE para otro determinado conjunto de permisos.    * si no tiene
> ningun perfil, o el permiso que se pregunta es otro, que funcione de la
> forma heredada (super()).
> Esta sugerencia podría ayudarte a que no te cagues en el DRY.
> Es tan solo un ejemplo de cómo se me presentaron situaciones similares. No
> se si es tanto que te puede ayudar para tu caso en particular, sino más
> bien solamente un guideline.
> Pero lo que querés, básicamente, se tiene q resolver a manopla.
>
> From: awolfmann en gmail.com
> Date: Mon, 21 Jul 2014 20:07:30 -0300
> To: pyar en python.org.ar
> Subject: [pyar] Multiples usuarios en Django 1.6.5
>
> Hola,
> Estoy haciendo un proyecto en Django, para el cual necesito que los
> usuarios se puedan loguear de 3 formas distintas (Comprador, vendedor y
> staff), los cuales tienen distintos atributos, por lo que estuve leyendo
> antes de la version 1.5 se usaba un user profile, pero ahora se permite
> customizar el usuario.
>
>
> Hay un ejemplo completo en la documentacion de Django, pero solo de
> AbstractBaseUser, para AbstractUser segui este ejemplo:
> http://michalcodes4life.wordpress.com/2014/02/08/multiple-user-types-in-django-1-6/
> el cual me tira de error :
>
>
> OperationalError at /admin/multi/facebookuser/add/
>
> no such table: auth_user
> ya probé haciendo syncdb, y borrando la db y creandola de nuevo y sigue
> con el mismo error.
>
>
>
> pero mi pregunta principal seria ¿como definir varios AUTH_USER_MODEL? en
> el ejemplo de la documentación solo se define uno...
>
> Desde ya muchas gracias.
>
>
> Saludos
>
> --
> Ariel Wolfmann
>
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
> ------------ próxima parte ------------
> Se ha borrado un adjunto en formato HTML...
> URL: <
> http://listas.python.org.ar/pipermail/pyar/attachments/20140722/63813e82/attachment-0001.html
> >
>
> ------------------------------
>
> Message: 3
> Date: Tue, 22 Jul 2014 11:23:56 -0300
> From: Andres Riancho <andres.riancho en gmail.com>
> To: Python Argentina <pyar en python.org.ar>
> Subject: Re: [pyar] Multiples usuarios en Django 1.6.5
> Message-ID:
>         <
> CA+1Rt676TSnmos46kbBzGSypct0_hdiBdW062UW9Y20w550KHQ en mail.gmail.com>
> Content-Type: text/plain; charset=UTF-8
>
> No estoy seguro de que lo estes encarando bien. Lo que yo haría sería
> tener un unico usuario con su model, y despues hacer que ese usuario
> pertenezca a tres grupos. Cuando el usuario se logea le aparece un
> drop-down donde selecciona que perfil quiere para esta ejecucion, eso
> se guarda en la session y "listo".
>
> 2014-07-21 20:07 GMT-03:00 Ariel Wolfmann <awolfmann en gmail.com>:
> > Hola,
> >
> > Estoy haciendo un proyecto en Django, para el cual necesito que los
> usuarios
> > se puedan loguear de 3 formas distintas (Comprador, vendedor y staff),
> los
> > cuales tienen distintos atributos, por lo que estuve leyendo antes de la
> > version 1.5 se usaba un user profile, pero ahora se permite customizar el
> > usuario.
> >
> > Hay un ejemplo completo en la documentacion de Django, pero solo de
> > AbstractBaseUser, para AbstractUser segui este ejemplo:
> >
> http://michalcodes4life.wordpress.com/2014/02/08/multiple-user-types-in-django-1-6/
> > el cual me tira de error :
> >
> > OperationalError at /admin/multi/facebookuser/add/
> >
> > no such table: auth_user
> >
> > ya probé haciendo syncdb, y borrando la db y creandola de nuevo y sigue
> con
> > el mismo error.
> >
> > pero mi pregunta principal seria ¿como definir varios AUTH_USER_MODEL?
> en el
> > ejemplo de la documentación solo se define uno...
> >
> >
> > Desde ya muchas gracias.
> >
> > Saludos
> >
> >
> > --
> > Ariel Wolfmann
> >
> > _______________________________________________
> > pyar mailing list pyar en python.org.ar
> > http://listas.python.org.ar/listinfo/pyar
> >
> > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> >
> > La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> > Argentina - http://www.usla.org.ar
>
>
>
> --
> Andrés Riancho
> Project Leader at w3af - http://w3af.org/
> Web Application Attack and Audit Framework
> Twitter: @w3af
> GPG: 0x93C344F3
>
>
> ------------------------------
>
> Message: 4
> Date: Tue, 22 Jul 2014 16:25:54 +0200
> From: Luis Masuelli <luismasuelli en hotmail.com>
> To: Python Argentina <pyar en python.org.ar>
> Subject: Re: [pyar] Multiples usuarios en Django 1.6.5
> Message-ID: <BAY174-W19C71DB49B67DBA18CCAAACAF10 en phx.gbl>
> Content-Type: text/plain; charset="iso-8859-1"
>
> El unico tema con esto que decis es que también parece que deba tener sus
> propios datos cada "tipo" de usuario. Por eso el pensaba no tanto en los
> permisos sino tambien incluir modelos de datos.
>
> > From: andres.riancho en gmail.com
> > Date: Tue, 22 Jul 2014 11:23:56 -0300
> > To: pyar en python.org.ar
> > Subject: Re: [pyar] Multiples usuarios en Django 1.6.5
> >
> > No estoy seguro de que lo estes encarando bien. Lo que yo haría sería
> > tener un unico usuario con su model, y despues hacer que ese usuario
> > pertenezca a tres grupos. Cuando el usuario se logea le aparece un
> > drop-down donde selecciona que perfil quiere para esta ejecucion, eso
> > se guarda en la session y "listo".
> >
> > 2014-07-21 20:07 GMT-03:00 Ariel Wolfmann <awolfmann en gmail.com>:
> > > Hola,
> > >
> > > Estoy haciendo un proyecto en Django, para el cual necesito que los
> usuarios
> > > se puedan loguear de 3 formas distintas (Comprador, vendedor y staff),
> los
> > > cuales tienen distintos atributos, por lo que estuve leyendo antes de
> la
> > > version 1.5 se usaba un user profile, pero ahora se permite customizar
> el
> > > usuario.
> > >
> > > Hay un ejemplo completo en la documentacion de Django, pero solo de
> > > AbstractBaseUser, para AbstractUser segui este ejemplo:
> > >
> http://michalcodes4life.wordpress.com/2014/02/08/multiple-user-types-in-django-1-6/
> > > el cual me tira de error :
> > >
> > > OperationalError at /admin/multi/facebookuser/add/
> > >
> > > no such table: auth_user
> > >
> > > ya probé haciendo syncdb, y borrando la db y creandola de nuevo y
> sigue con
> > > el mismo error.
> > >
> > > pero mi pregunta principal seria ¿como definir varios AUTH_USER_MODEL?
> en el
> > > ejemplo de la documentación solo se define uno...
> > >
> > >
> > > Desde ya muchas gracias.
> > >
> > > Saludos
> > >
> > >
> > > --
> > > Ariel Wolfmann
> > >
> > > _______________________________________________
> > > pyar mailing list pyar en python.org.ar
> > > http://listas.python.org.ar/listinfo/pyar
> > >
> > > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> > >
> > > La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> > > Argentina - http://www.usla.org.ar
> >
> >
> >
> > --
> > Andrés Riancho
> > Project Leader at w3af - http://w3af.org/
> > Web Application Attack and Audit Framework
> > Twitter: @w3af
> > GPG: 0x93C344F3
> > _______________________________________________
> > pyar mailing list pyar en python.org.ar
> > http://listas.python.org.ar/listinfo/pyar
> >
> > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> >
> > La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
> ------------ próxima parte ------------
> Se ha borrado un adjunto en formato HTML...
> URL: <
> http://listas.python.org.ar/pipermail/pyar/attachments/20140722/4e18648a/attachment-0001.html
> >
>
> ------------------------------
>
> Message: 5
> Date: Tue, 22 Jul 2014 11:37:44 -0300
> From: Esteban Castro <ecastroborsani en gmail.com>
> To: Python Argentina <pyar en python.org.ar>
> Subject: Re: [pyar] Multiples usuarios en Django 1.6.5
> Message-ID:
>         <CAF=BxX1TYR3CikJ522TbGk8TsCg=
> YLErG7rNME4rn74bSu6+QQ en mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> Lo de guardar el tipo de perfil en la sesion es lo que deberias hacer. Y si
> queres incluir atributos en el modelo para cada tipo de perfil te quedaria:
> un modelo para usuario (el que viene con django), un modelo nuevo para
> comprador, otro modelo nuevo para vendedor, los dos con sus respectivos
> OneToOne al modelo usuario.
>
> Lo de extender el abstract solo sirve cuando tenes un unico perfil, ya que
> te queda todo en una sola tabla.
>
>
> El 22 de julio de 2014, 11:25, Luis Masuelli <luismasuelli en hotmail.com>
> escribió:
>
> > El unico tema con esto que decis es que también parece que deba tener sus
> > propios datos cada "tipo" de usuario. Por eso el pensaba no tanto en los
> > permisos sino tambien incluir modelos de datos.
> >
> > > From: andres.riancho en gmail.com
> > > Date: Tue, 22 Jul 2014 11:23:56 -0300
> > > To: pyar en python.org.ar
> > > Subject: Re: [pyar] Multiples usuarios en Django 1.6.5
> >
> > >
> > > No estoy seguro de que lo estes encarando bien. Lo que yo haría sería
> > > tener un unico usuario con su model, y despues hacer que ese usuario
> > > pertenezca a tres grupos. Cuando el usuario se logea le aparece un
> > > drop-down donde selecciona que perfil quiere para esta ejecucion, eso
> > > se guarda en la session y "listo".
> > >
> > > 2014-07-21 20:07 GMT-03:00 Ariel Wolfmann <awolfmann en gmail.com>:
> > > > Hola,
> > > >
> > > > Estoy haciendo un proyecto en Django, para el cual necesito que los
> > usuarios
> > > > se puedan loguear de 3 formas distintas (Comprador, vendedor y
> staff),
> > los
> > > > cuales tienen distintos atributos, por lo que estuve leyendo antes de
> > la
> > > > version 1.5 se usaba un user profile, pero ahora se permite
> customizar
> > el
> > > > usuario.
> > > >
> > > > Hay un ejemplo completo en la documentacion de Django, pero solo de
> > > > AbstractBaseUser, para AbstractUser segui este ejemplo:
> > > >
> >
> http://michalcodes4life.wordpress.com/2014/02/08/multiple-user-types-in-django-1-6/
> > > > el cual me tira de error :
> > > >
> > > > OperationalError at /admin/multi/facebookuser/add/
> > > >
> > > > no such table: auth_user
> > > >
> > > > ya probé haciendo syncdb, y borrando la db y creandola de nuevo y
> > sigue con
> > > > el mismo error.
> > > >
> > > > pero mi pregunta principal seria ¿como definir varios
> AUTH_USER_MODEL?
> > en el
> > > > ejemplo de la documentación solo se define uno...
> > > >
> > > >
> > > > Desde ya muchas gracias.
> > > >
> > > > Saludos
> > > >
> > > >
> > > > --
> > > > Ariel Wolfmann
> > > >
> > > > _______________________________________________
> > > > pyar mailing list pyar en python.org.ar
> > > > http://listas.python.org.ar/listinfo/pyar
> > > >
> > > > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> > > >
> > > > La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre
> de
> > > > Argentina - http://www.usla.org.ar
> > >
> > >
> > >
> > > --
> > > Andrés Riancho
> > > Project Leader at w3af - http://w3af.org/
> > > Web Application Attack and Audit Framework
> > > Twitter: @w3af
> > > GPG: 0x93C344F3
> > > _______________________________________________
> > > pyar mailing list pyar en python.org.ar
> > > http://listas.python.org.ar/listinfo/pyar
> > >
> > > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> > >
> > > La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> > Argentina - http://www.usla.org.ar
> >
> > _______________________________________________
> > pyar mailing list pyar en python.org.ar
> > http://listas.python.org.ar/listinfo/pyar
> >
> > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> >
> > La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> > Argentina - http://www.usla.org.ar
> >
> ------------ próxima parte ------------
> Se ha borrado un adjunto en formato HTML...
> URL: <
> http://listas.python.org.ar/pipermail/pyar/attachments/20140722/80f2e507/attachment.html
> >
>
> ------------------------------
>
> Subject: Pié de página del digest
>
> _______________________________________________
> pyar mailing list
> pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
>
> ------------------------------
>
> Fin de Resumen de pyar, Vol 53, Envío 33
> ****************************************
>



-- 
Ariel Wolfmann
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140722/219ec101/attachment-0001.html>


More information about the pyar mailing list