Performance: Registering models in admin
MEDIUM IMPACT
This affects the admin interface load speed and responsiveness when managing database models.
from django.contrib import admin from .models import ModelA, ModelB, ModelC @admin.register(ModelA) class ModelAAdmin(admin.ModelAdmin): list_display = ('field1', 'field2') search_fields = ('field1',) @admin.register(ModelB) class ModelBAdmin(admin.ModelAdmin): list_display = ('field3',) list_filter = ('field4',) @admin.register(ModelC) class ModelCAdmin(admin.ModelAdmin): list_display = ('field5',) readonly_fields = ('field6',)
from django.contrib import admin from .models import ModelA, ModelB, ModelC admin.site.register(ModelA) admin.site.register(ModelB) admin.site.register(ModelC)
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Register many models without customization | High number of queries | Multiple reflows due to large DOM | High paint cost from complex UI | [X] Bad |
| Register models with optimized ModelAdmin classes | Reduced queries with filters/search | Fewer reflows from simpler DOM | Lower paint cost with streamlined UI | [OK] Good |