2010-12-31 19 views

risposta

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

ha lavorato per me (sopra adattato da mio modello) Si allineati in ordine decrescente data

+1

Sia questa che la risposta di @Marcus Whybrow risolvono il problema. La domanda è se qualcuno vuole limitare l'ordinamento predefinito solo alla vista admin o anche ad altre viste. –

12

È possibile aggiungere Meta opzioni ad un Modello di Django che può dettare come si comporta. Esiste un'opzione ordering che definisce in base a quale record di attributi del modello deve essere ordinato.

È possibile trovare la documentazione per l'opzione di ordinamento meta here in the Django docs:

+0

Non è questa la risposta che stai cercando? –

+0

Riesco a vedere wgar Lylo sta dicendo .. Ho lo stesso problema .. [a, b, c, d] .. Voglio essere in grado di consentire all'amministratore di riordinare i dati senza fare affidamento su un campo .. [d, c, a, b] ad esempio – Lee

+1

Soluzione perfetta! Esempio [qui] (https://docs.djangoproject.com/en/dev/topics/db/models/#meta-options) – Roger

7

Se si desidera definire un ordine all'interno di un InlineAdmin Django non offre una soluzione generica per fare questo! Ci sono some snippets out there che ti permettono di aggiungere questa funzionalità all'amministratore, inoltre lo grappelli skin ti offre questa funzionalità!

4

V'è inoltre la possibilità di ignorare get_ordering(self, request) del ModelAdmin che permette caso ordinamento insensitive:

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 
+0

Penso che 'return [Lower ('name')]' dovrebbe essere 'return [self.name.lower()]'. – LostMyGlasses

+0

@LostMyGlasses no, non si vuole assolutamente abbassare il nome del campo ma i valori utilizzati per l'ordinamento. – Risadinha

+0

OK, l'importazione che hai aggiunto ora offre nuove informazioni. – LostMyGlasses