Après, tel que tu décris ton modèle, un country manager ne peut avoir qu'un
pays, ce qui est contradictoires avec ton emplois du pluriel plus haut.

Bon reprennons tes points que je puisse construire ma critique que j'espère
constructive:

   - Une classe CountryManager qui se baserait sur la classe "User" et
   auquel je rajouterais notamment un attribut "Pays"
   - Une classe User avec un attribut "Pays"

**
Le plus souvent, il est recommendé d'utiliser des profils mes les sagouins
de mon espèce utilisent le "monkey-patching" pour ajouter des champs à User.

http://www.turnkeylinux.org/blog/django-profile

Pour ma part, je ne trouve pas ça plus extensible qu'un genou de grand mère
dans le sens ou faire cohabiter sur un site plusieurs application utilisant
des profil relève du perieux (qui plus est la solution alternative est plus
performante).

L'autre solution simplifie des choses mais n'est ni standart, ni
documentée. De plus, elle est pas gérée par south.

elle consiste à ajouter dans ton models.py:

# User Monkey patch
models.ManyToMany(Countries, null=True, related_name="admins",
blank=True).contribute_to_class(
    User, "myapp_countries")

L'héritage peut être pertinant dans certains contexte néanmoins, tant que
l'orm peut s'en passer. Après si c'est vraiment la solution que tu retiens,

http://pypi.python.org/pypi/django-model-utils

Regarde le InheritanceManager, tu trouvera peut être ça sympatique.

Enfin, Créer tant de tables c'est autant de jointure pour arriver à lier
les utilisateurs aux pays administrés.

Bonne chance.



2012/5/12 Nicolas Steinmetz <[email protected]>

>
>
> Le 9 mai 2012 16:29, David THENON <[email protected]> a écrit :
>
> Salut,
>>
>> > Q1 - Gestion des "Responsables Pays"
>> > [snip]
>> > Il y a plus futé ou mieux une app pour ça ?
>>
>> À mon avis ajouter tes méthodes de filtrages au niveau du manager est le
>> meilleur choix, c'est un peu son but de contenir la logique d'accès aux
>> données de ton modèle.
>>
>> Et pour les vues, avec le système du Class based views tu peux facilement
>> imposer ces filtrations sur un "Mixin" et le réutiliser partout après.
>>
>
> Merci pour ce retour.
>
> Avec Django 1.4, il est possible de faire un list_filter custom/dyanmique
> :
>
> https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_filter
>
> J'ai pu donc faire cette restriction visuellle directement dans l'admin.
>
> Me restera plus qu'a changer un peu les couleurs de l'admin et cette parte
> là de l'appli est faite en qqs heures du coup ^^
>
> --
> Nicolas Steinmetz
> http://www.steinmetz.fr - http://nicolas.steinmetz.fr/
>
> _______________________________________________
> django mailing list
> [email protected]
> http://lists.afpy.org/mailman/listinfo/django
>



-- 
Best regards,
Christophe Narbonne

http://blogs.dotnet-france.com/christophen/
_______________________________________________
django mailing list
[email protected]
http://lists.afpy.org/mailman/listinfo/django

Répondre à