2010-02-16 8 views

Répondre

71

j'ai finalement fait comme ça dans mon fichier 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) 
+8

Nous pouvons également étendre UserAdmin au lieu de le modifier dynamiquement! – Natim

+4

Pour plus de clarté, cela doit être ajouté au fichier admin.py de niveau supérieur de votre site. –

+1

Puis-je vous demander ce que vous entendez par niveau supérieur? –

-3

Si l'on suppose que votre classe d'utilisateur est User et votre champ de date d'abonnement est , voici ce que vous devez ajouter sur votre admin.py

class UserAdmin(admin.ModelAdmin): 
    list_display = ('subscription_date',) 

admin.site.register(User, UserAdmin) 
+0

Cela peut fonctionne même avec le auth.User de buildin? – Natim

+5

Cela doit hériter de l'UserAdmin intégré, sinon vous perdez tout le reste des personnalisations. Et vous devez également désinscrire l'enregistrement intégré; La réponse de Natim a le bon code. –

13

Une autre façon de procéder consiste à étendre la classe UserAdmin.

Vous pouvez également créer une fonction pour mettre sur 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) 
+0

Puis-je également faire ce qui suit (sans '__init__'), ou y a-t-il un problème? ? 'class CustomUserAdmin (UserAdmin): list_display = liste (UserAdmin.list_display) + ['date_joined']' – jdm