Атрибут extra
Атрибут extra применяется в классе TabularInline для управления количеством дополнительных пустых форм, которые отображаются в интерфейсе администратора для добавления новых связанных записей. Этот атрибут позволяет настроить удобное количество полей для ввода данных, чтобы администратор мог быстро добавлять несколько объектов без необходимости перезагрузки страницы. Значение атрибута - это целое положительное число.
Синтаксис
class RelatedInline(admin.TabularInline):
model = RelatedModel
extra = number
Пример
Рассмотрим модель Article и связанную с ней модель Comment. В админке мы хотим отображать формы для добавления комментариев к статье. По умолчанию отображается три пустых формы, но мы можем изменить это количество:
from django.contrib import admin
from myapp.models import Article, Comment
class CommentInline(admin.TabularInline):
model = Comment
extra = 1
@admin.register(Article)
class ArticleAdmin(admin.ModelAdmin):
inlines = [CommentInline]
Пример
В этом примере мы создаем inline для модели Tag, связанной с моделью Article через ManyToManyField. Устанавливаем extra равным двум, чтобы администратор мог добавить сразу два новых тега:
from django.contrib import admin
from myapp.models import Article, Tag
class TagInline(admin.TabularInline):
model = Article.tags.through
extra = 2
@admin.register(Article)
class ArticleAdmin(admin.ModelAdmin):
inlines = [TagInline]
Смотрите также
-
атрибут
modelклассаTabularInline,
который указывает модель для отображения в inline-форме -
атрибут
fk_nameклассаTabularInline,
который указывает имя внешнего ключа для связи -
класс
StackedInline,
который отображает связанные объекты в вертикальном расположении -
атрибут
inlinesклассаModelAdmin,
который позволяет подключать inline-классы к модели