2009-06-04 8 views
1

J'utilise la version bêta de django 1.1. Dans mon projet, je veux utiliser bulk_action dans certains modèles uniquement. Comment puis-je désactiver bulk_action des modèles restants? Je veux supprimer complètement l'étiquette d'action avec la case à cocher; en d'autres termes, cela ressemblerait à Django 1.02.comment désactiver bulk_action dans django 1.1 beta

Répondre

2

i utilisé la solution fournie dans django docs

def get_actions(self, request): 
    actions = super(MyModelAdmin, self).get_actions(request) 
    if request.user: 
     del actions['delete_selected'] 
    return actions 

éliminaient toutes les actions de ma page de changement

3

Vous ne savez pas si c'est ce que vous cherchez - Je ne trouve aucune référence à bulk_action en ligne. Les actions en bloc ont été introduites dans Django 1.1 (voir le release notes), donc je suppose que vous faites référence à la suppression des actions groupées pour les pages d'administration de certains modèles.

Si vous souhaitez aucune action en vrac disponible pour une donnée ModelAdmin, simplement mis ModelAdmin.actions-None:

class MyModelAdmin(admin.ModelAdmin): 
    actions = None 

du docs.

Je ne pense pas que cette méthode va supprimer les cases à cocher, ou faire ressembler la page des annonces à Django 1.02, cela supprimera simplement la liste des actions groupées de la liste déroulante.

+0

cela ne fonctionne pas – ha22109

+0

de quelle façon? Avez-vous un message d'erreur? Ne fait-il pas ce qu'il dit? –

Questions connexes