Cómo personalizar la página de administración de Django auth.user CRUD?
-
20-09-2019 - |
Pregunta
Sólo quiero añadir la fecha de suscripción de la lista de usuarios en el sitio de Django Administración CRUD. ¿Cómo puedo hacer eso?
Gracias por su ayuda
Solución
Finalmente lo hice como esto en mi archivo admin.py:
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User
UserAdmin.list_display = ('email', 'first_name', 'last_name', 'is_active', 'date_joined', 'is_staff')
admin.site.unregister(User)
admin.site.register(User, UserAdmin)
Otros consejos
Otra manera de hacer esto está extendiendo la clase UserAdmin.
También puede crear una función para poner en list_display
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User
class CustomUserAdmin(UserAdmin):
def __init__(self, *args, **kwargs):
super(UserAdmin,self).__init__(*args, **kwargs)
UserAdmin.list_display = list(UserAdmin.list_display) + ['date_joined', 'some_function']
# Function to count objects of each user from another Model (where user is FK)
def some_function(self, obj):
return obj.another_model_set.count()
admin.site.unregister(User)
admin.site.register(User, CustomUserAdmin)
Si se asume que su clase de usuario es User
y su campo de fecha de suscripción es subscription_date
, esto es lo que hay que añadir en su admin.py
class UserAdmin(admin.ModelAdmin):
list_display = ('subscription_date',)
admin.site.register(User, UserAdmin)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow