如何在Django中的ChoiceInline类中设置list_per_page?

时间:2016-01-02 09:26:28

标签: python django django-admin

我正在关注django 1.9教程,其中作者创建了以下类来显示管理面板中的选项。

class ChoiceInline(admin.TabularInline):
    model = Choice
    extra = 3
    list_per_page = 5 # not working

我想将选项限制为每页5个,但我无法弄清楚如何做到这一点。 我已成功将list_per_page应用于QuestionAdmin类,如此

class QuestionAdmin(admin.ModelAdmin):
    # fields = ['pub_date', 'question_text']
    fieldsets = [
        (None, {'fields': ['question_text']}),
        ('Date information', {'fields': ['pub_date']}),
    ]

    inlines = [ChoiceInline]

    list_display = ('question_text', 'pub_date', 'was_published_recently')
    list_filter = ['pub_date']
    search_fields = ['question_text']
    list_per_page = 5 # working perfectly

但同样不适用于ChoiceInline类。

2 个答案:

答案 0 :(得分:0)

Django ModelAdmin选项:list per page

您的两个班级之间的差异是ModelAdminInlineModelAdmin。 正如Django所说:

  

设置list_per_page以控制每个分页管理员更改列表页面上显示的项目数。默认情况下,此值设置为100。

它将设置change_list中显示的项目的大小。

要限制内联选项的大小,请尝试:

class ChoiceInline(admin.TabularInline):
    model = Choice
    extra = 3
    max_num = 5

答案 1 :(得分:0)

你不能在你的内联模型中使用list_per_page,它也没有任何意义,因为这个模型被整合为内联,它显示在changeview中,而不是更改列表。