Ir para o conteúdo

Referência de ModelAdmin

django_yp_admin.options.ModelAdmin estende django.contrib.admin.ModelAdmin. Todas as opções upstream continuam disponíveis. Os campos abaixo foram adicionados por nós.

Flags de ModelAdmin

Campo Tipo Padrão Descrição
htmx_changelist bool False Ativa swaps de htmx para filtros de lista, busca e paginação. A changelist é re-renderizada no lugar.
htmx_inline_save bool False Salva formulários inline via swap estilo PATCH do htmx; sem recarregamento completo da página.
versioning bool False Quando True, o save_model do admin tira um snapshot da instância para a tabela Version. Veja Versionamento.

Opções de inline

StackedInline e TabularInline de django_yp_admin.options adicionam:

Campo Tipo Padrão Descrição
htmx_lazy bool False As linhas inline são buscadas sob demanda via htmx na primeira vez que a seção é expandida.
sortable_field str \| None None Nome de um campo inteiro que controla a ordem das linhas. Quando definido, as linhas são renderizadas com HTML5 Drag & Drop e chamam o endpoint de reordenação via htmx.

Exemplo

from django_yp_admin.options import ModelAdmin, TabularInline


class TrackInline(TabularInline):
    model = Track
    htmx_lazy = True
    sortable_field = "order"


@admin.register(Album)
class AlbumAdmin(ModelAdmin):
    htmx_changelist = True
    versioning = True
    inlines = [TrackInline]

Media

ModelAdmin.media adiciona automaticamente yp_admin/js/yp-admin.js e yp_admin/css/yp-admin.css. Você não precisa declará-los manualmente.