76 votes

Ordre de tri des administrateurs Django

J'ai parcouru le didacticiel Poll sur http://docs.djangoproject.com .

J'aimerais savoir s'il est possible d'ajouter un ordre de tri au modèle 'Choice' lors de l'édition d'un sondage et comment y parvenir

Merci

156voto

pbmuk Points 1374
class SeminarInline(admin.StackedInline):
    model = Seminar
    extra = 0
    ordering = ('-date',)

a fonctionné pour moi (ci-dessus adapté de mon modèle) Il a trié par ordre de date décroissant

20voto

Marcus Whybrow Points 8427

Vous pouvez ajouter des Meta à un modèle Django, ce qui peut dicter son comportement. Il existe une ordering qui définit par quel modèle les enregistrements d'attributs doivent être classés.

Vous pouvez trouver la documentation de l'option de commande méta ici dans la documentation Django :

20voto

Risadinha Points 1254

Il existe également la possibilité de remplacer get_ordering(self, request) du ModelAdmin qui permet un ordre insensible à la casse :

 from django.db.models.functions import Lower

class MyModelAdmin(ModelAdmin):
    list_display = ('name',)
    search_fields = ['name']

    def get_ordering(self, request):
        return [Lower('name')]  # sort case insensitive

7voto

Bernhard Vallant Points 18035

Si vous souhaitez définir une commande au sein d'un InlineAdmin, Django ne vous propose pas de solution générique pour le faire ! Il existe des extraits qui vous permettent d'ajouter cette fonctionnalité à l'administrateur, le skin grappelli vous offre également une telle fonctionnalité !

7voto

sauravjoshi23 Points 380

Par exemple si vous souhaitez que le tableau soit trié par pourcentage :

  1. Accédez au fichier models.py dans votre application principale
  2.  class Meta:
     abstract = True
     ordering = ['-percentage'] #Sort in desc order
    
  3.  class Meta:
     abstract = True
     ordering = ['percentage'] #Sort in asc order
    

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X