Core y tenants¶
Referencia de componentes transversales.
Modelos¶
models ¶
Tenant ¶
TenantModel ¶
Bases: Model
Modelo base abstracto para aislamiento multi-tenant.
Middleware¶
middleware ¶
TenantMiddleware — Extracts tenant from authenticated user and injects it into the request and thread-local storage for automatic QuerySet filtering.
PageTrackingMiddleware — Registra las últimas páginas (GET) visitadas en la sesión, solo cuando DEBUG=True, para el sistema de feedback de testers.
TenantMiddleware ¶
Middleware that extracts the tenant from the authenticated user and stores it in both request.tenant and thread-local storage.
For unauthenticated requests, tenant is set to None.
PageTrackingMiddleware ¶
Bases: MiddlewareMixin
Registra las últimas 15 páginas (GET) visitadas en la sesión (solo DEBUG).
Sirve al sistema de feedback de testers para reconstruir el camino que siguió el usuario antes de reportar un bug. Solo se activa con DEBUG=True para no impactar producción.
get_current_tenant ¶
Return the current tenant from thread-local storage, or None.
Acceso y auditoría¶
PermisoRequeridoMixin ¶
Bases: LoginRequiredMixin, PermissionRequiredMixin
Mixin que verifica permisos nativos de Django para vistas del panel.
Uso
class MiVista(PermisoRequeridoMixin, ListView): permission_required = "convocatorias.view_convocatoria" # o tupla: permission_required = ("app.perm1", "app.perm2")