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

¿Fue útil?

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
scroll top