2012-06-20 12 views
6

Tengo un modelo para una publicación de blog donde el propietario de la publicación es una clave externa para el usuario. Con ese modelo, cualquier usuario puede tener una publicación de blog. Me gustaría cambiarlo para que solo los usuarios de un determinado grupo, lo llamen "bloggers", puedan tener un objeto de publicación de blog. Lo ideal sería que también apareciera en el administrador, quiero decir, en el administrador de la publicación del blog, en este momento, el menú para "propietario" enumera a todos los usuarios, solo debe enumerar los del grupo "bloggers". ¿Cómo hago eso con Django 1.3?Django, filtro usuarios por grupo en una clave externa modelo

Respuesta

12

Uso limit_choices_to paramether en su definición ForeignKey así:

author = models.ForeignKey("auth.User", limit_choices_to={'groups__name': "bloggers"}) 
+0

Esto es muy útil, gracias. Pero, ¿qué ocurre si quiero limitar mis elecciones a muchos grupos en lugar de a solo uno? Por ejemplo, me gustaría seleccionar usuarios en el grupo de "bloggers" o en el grupo de "televidentes". – jgmao

+3

Simple. author = models.ForeignKey ("auth.User", limit_choices_to = {'groups__name__in': ["bloggers", "televidentes"]}) –

+0

¡¡¡Perfecto !!! ¡He estado buscando esto por horas! –

Cuestiones relacionadas