内联列表显示Django Admin中的多余项目

时间:2017-03-21 15:26:28

标签: python django django-admin

让我举个例子:

  

admin.py

from django.contrib import admin

from .models import Author, Book


class BookInline(admin.TabularInline):
    model = Book

@admin.register(Author)
class AuthorAdmin(admin.ModelAdmin):
    list_display = ('last_name', 'first_name', 'date_of_birth', 'date_of_death')
    fields = ['first_name', 'last_name', ('date_of_birth', 'date_of_death')]
    inlines = [BookInline]

此配置生成以下布局:

enter image description here

问题是,这位作者只写了一本书(即Book 009),但我列出了四本书(即Book 009和三本“空书”)。为什么?如何禁用此功能(或错误,无论如何)?

enter image description here

1 个答案:

答案 0 :(得分:4)

Django admin添加了额外的行,以防你想为每个行添加值。

您可以通过设置相关属性来控制出现extra的次数,如下所示:

class BookInline(admin.TabularInline):
    model = Book
    extra = 1  # or extra = 0

您的内联控件还有其他好处,例如max_nummin_num等。