O novo LoginRequiredMiddleware redireciona todas as solicitações não autenticadas para uma página de login. As views podem permitir solicitações não autenticadas usando o novo decorator login_not_required().
O LoginRequiredMiddleware respeita os valores de login_url e redirect_field_name definidos via o decorator login_required(), mas não suporta a definição de login_url ou redirect_field_name através do LoginRequiredMixin.
Para habilitar isso, adicione "django.contrib.auth.middleware.LoginRequiredMiddleware" a sua configuração de MIDDLEWARE.
ModelAdmin.list_display agora suporta o uso de __ para "list fields" de modelos relacionados, ou FK.
@admin.register(Product)
class ProductAdmin(admin.ModelAdmin):
list_display = ('__str__', 'category__title', 'category__type')
Antes gerava o seguinte erro:
File "~/.venv/lib/python3.12/site-packages/django/core/management/base.py", line 563, in check
raise SystemCheckError(msg)
django.core.management.base.SystemCheckError: SystemCheckError: System check identified some issues:
ERRORS:
<class 'backend.core.admin.ProductAdmin'>: (admin.E108) The value of 'list_display[1]' refers to 'category__title', which is not a callable, an attribute of 'ProductAdmin', or an attribute or method on 'core.Product'.