Différences entre versions de « Django »

De Cliss XXI
Sauter à la navigation Sauter à la recherche
imported>SylvainBeucler
m (exemples)
imported>SylvainBeucler
m (lien vers cookbook django)
Ligne 4 : Ligne 4 :
 
* [http://lincolnloop.com/blog/2009/jun/22/customizing-django-admin-eurodjangocon-2009/ Customizing the Django Admin at EuroDjangoCon 2009]
 
* [http://lincolnloop.com/blog/2009/jun/22/customizing-django-admin-eurodjangocon-2009/ Customizing the Django Admin at EuroDjangoCon 2009]
 
* [http://lincolnloop.com/assets/Customizing_the_Django_Admin-EuroDjangoCon09.pdf Customizing_the_Django_Admin-EuroDjangoCon09.pdf]
 
* [http://lincolnloop.com/assets/Customizing_the_Django_Admin-EuroDjangoCon09.pdf Customizing_the_Django_Admin-EuroDjangoCon09.pdf]
 +
* [http://code.djangoproject.com/wiki/CookBookNewformsAdminAndUser CookBookNewformsAdminAndUser]
  
 
Modifier le queryset dynamiquement:
 
Modifier le queryset dynamiquement:

Version du 3 mars 2010 à 11:15

Personnaliser l'interface d'admin

De quoi aller plus loin, principalement les quelques derniers slides (ce sont des choses que j'avais cherché pendant trois plombes):

Modifier le queryset dynamiquement:

class StuffAdmin(admin.ModelAdmin)
    ...
    def queryset(self, request):
        qs = super(self.__class__, self).queryset(request)
        qs = qs.filter(user=request.user)
        return qs

    # or
    def queryset(self, request):
        qs = self.model._default_manager.filter(user=request.user)
        return qs

Forcer des champs dynamiquement:

class StuffAdmin(admin.ModelAdmin)
    ...
    def save_model(self, request, object, form, change):
        object.user = request.user
        object.save()

Liens