Cómo podemos personalizar el admin de Django?
Cómo se cambian el orden el de los campos?
Cómo se liga otro modelo?
Para esto debemos ir al archivo admin.py, y creamos una clase que hereda de admin.ModelAdmin
from django.contrib import admin
from .models import Question
class QuestionAdmin(admin.ModelAdmin):
fields = ["pub_date", "question_text"]
admin.site.register(Question)
Creamos una clase que herede de admin.StackedInLine.
from django.contrib import admin
from .models import Choice, Question
class ChoiceInLine(admin.StackedInline):
model = Choice
extra = 2
class QuestionAdmin(admin.ModelAdmin):
fields = ["pub_date", "question_text"]
inlines = [ChoiceInLine]
admin.site.register(Question, QuestionAdmin)
<aside> 📌 Resumen: Para modificar el administrador modificamos el archivo admin que nos dará control sobre lo que podemos mostrar para agilizar el trabajo.
</aside>
Qué cosa más se puede se puede modificar en Admin?
Para tener más idea de esto revisa la documentación.
Algunas de las cosas que podemos hacer es agregar más campos visibles (fehcas, …), filtros y un buscardor.
Agregar más campos:
class QuestionAdmin(admin.ModelAdmin):
fields = ["pub_date", "question_text"]
inlines = [ChoiceInLine]
list_display = ("question_text", "pub_date", "was_published_recently")


Agregar filtros:
class QuestionAdmin(admin.ModelAdmin):
fields = ["pub_date", "question_text"]
inlines = [ChoiceInLine]
list_display = ("question_text", "pub_date", "was_published_recently")
list_filter = ["pub_date"]
Al agregar un list_filter se agrega un filtrador para nuestros datos.

Agregar un buscador:
class QuestionAdmin(admin.ModelAdmin):
fields = ["pub_date", "question_text"]
inlines = [ChoiceInLine]
list_display = ("question_text", "pub_date", "was_published_recently")
list_filter = ["pub_date"]
search_fields = ["question_text"]

<aside> 📌 Resumen: Para encontrar más rápido los datos, podemos modificar el archivo admin para hacernos más fácil, el filtrado de datos.
</aside>