2010-12-31 32 views

Respuesta

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

trabajó para mí (por encima de una adaptación de mi modelo) Se ordena en orden descendente Fecha

+1

Tanto esta como la respuesta de @Marcus Whybrow resuelven el problema. La pregunta es si alguien quiere restringir la clasificación predeterminada a solo la vista de administrador, o a otras vistas también. –

12

Puede añadir Meta opciones a una Modelo Django que puede dictar cómo se comporta. Existe una opción ordering que define por qué modelo se deben ordenar los registros de atributos.

Puede encontrar la documentación para la opción de ordenación meta here in the Django docs:

+0

¿No es esta la respuesta que estás buscando? –

+0

Puedo ver que Lylo está diciendo ... Tengo el mismo problema ... [a, b, c, d] .. Quiero permitir que el administrador reordene los datos sin depender de un campo ... [d, c, a, b] por ejemplo – Lee

+1

¡Solución perfecta! Ejemplo [aquí] (https://docs.djangoproject.com/en/dev/topics/db/models/#meta-options) – Roger

7

Si desea definir un orden dentro de un InlineAdmin Django no le ofrece una una solución genérica para hacer esto! ¡Hay some snippets out there que le permiten agregar esta funcionalidad al administrador, también el grappelli skin le ofrece tal característica!

4

También existe la posibilidad de anular get_ordering(self, request) del ModelAdmin que permite que para el caso de pedidos insensible:

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

Creo que 'return [Lower ('name')]' debe ser 'return [self.name.lower()]'. – LostMyGlasses

+0

@LostMyGlasses no, definitivamente no desea reducir el nombre del campo, sino los valores que se utilizan para ordenar. – Risadinha

+0

De acuerdo, la 'importación' que agregó ahora ofrece nueva información. – LostMyGlasses