2011-01-04 13 views
8

Actualmente tengo un listado en django admin que se divide en 8 páginas.django admin - muestra todo para más de 200 artículos

lo que tengo que hacer es tener un botón/enlace para mostrar todos los elementos de una lista en django admin incluso si hay más de 200 artículos mientras se mantiene la paginación.

el enlace "mostrar todo" hace exactamente lo que necesito, pero está limitado a 200 elementos. ¿Hay alguna manera de que pueda cambiar eso? (sin modificar el núcleo). También hay una manera para que pueda cambiar la list_per_page en modeladmin on demand?

+0

acabo de encontrar esto http://djangosnippets.org/snippets/1809/ pero no estoy seguro de dónde poner el código – Thordin9

Respuesta

-1

No estoy seguro de que es lo que estás buscando cuando se dice "a la carta" modificación de list_per_page, pero es casi seguro que podría consultar una base de datos. Sería bastante difícil de manejar, pero dependiendo de su caso de uso, los administradores podrían iniciar sesión, modificar sus preferencias y luego proceder con el modelo que realmente importa. Por ejemplo:

#models.py 
class PageLength(models.Model): 
    page_length = models.IntegerField() 

#admin.py 

class FooAdmin(admin.ModelAdmin): 
    list_per_page = PageLength.objects.get(pk=1) 
12

se puede cambiar el list_max_show_all y list_per_page atributos en la clase de administración.

class FooAdmin(admin.ModelAdmin): 
    list_max_show_all = 500 
    list_per_page = 200 

Funciona con Django 1.4 y posterior. See the manual.

+1

Esto funciona en django 1.8 – MagicLAMP

Cuestiones relacionadas