[pyar] Multiples usuarios en Django 1.6.5

Luis Masuelli luismasuelli en hotmail.com
Mar Jul 22 11:22:25 ART 2014


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.html>


More information about the pyar mailing list