django admin - 显示超过200个项目的所有内容

Tho*_*in9 10 django

我目前在django admin中有一个分为8页的列表.

我需要做的是有一个按钮/链接显示django管理员列表中的所有项目,即使有超过200项目,同时保持分页.

"show all"链接正是我所需要的,但它仅限于200件商品.有什么方法可以改变吗?(不修改核心).还有一种方法可以根据需要更改modeladmin中的list_per_page吗?

Sep*_*älä 16

您可以更改管理类的list_max_show_alllist_per_page属性.

class FooAdmin(admin.ModelAdmin):
    list_max_show_all = 500
    list_per_page = 200
Run Code Online (Sandbox Code Playgroud)

适用于Django 1.4及更高版本.请参阅手册.


rat*_*ray 0

当您说“按需”修改 list_per_page 时,不确定这是否是您正在寻找的内容,但您几乎可以肯定可以查询数据库。这会相当笨重,但根据您的用例,管理员可以登录,修改他们的首选项,然后继续执行任何真正重要的模型。例如:

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

#admin.py

class FooAdmin(admin.ModelAdmin):
     list_per_page = PageLength.objects.get(pk=1) 
Run Code Online (Sandbox Code Playgroud)