2010-09-06 160 views
6

有沒有可能在管理頁面爲django UserModel創建自定義操作?我希望自動添加用戶到組中(比如將他添加到工作人員,設置一些額外的值等),並且創建採取這些更改的操作。將自定義操作添加到UserModel的管理頁面

感謝您的幫助。

回答

12

導入User在你的admin.py中取消註冊,爲它創建新的ModelAdmin(或者繼承默認的)。

這將是這個樣子我想:

from django.contrib.auth.models import User 

class UserAdmin(admin.ModelAdmin): 
    actions = ['some_action'] 

    def some_action(self, request, queryset): 
     #do something ... 
    some_action.short_description = "blabla" 

admin.site.unregister(User) 
admin.site.register(User, UserAdmin) 

Reference for actions.

+0

+1。清潔。這是我會做的。 – 2010-09-06 16:03:56

+0

謝謝!它完全適合我! – radious 2010-09-14 14:14:01

0

工作實例,而不會丟失所有默認的內聯行動等
在這裏,我們將增加激活所選用戶的操作。

from django.contrib import admin 
from django.contrib.auth.models import User 
from django.contrib.auth.admin import UserAdmin 


def make_active(modeladmin, news, queryset): 
    queryset.update(is_active=True) 
make_active.short_description = u"Activate selected Users" 

class CustomUserAdmin(UserAdmin): 
    actions = [make_active] 


admin.site.unregister(User) 
admin.site.register(User, CustomUserAdmin) 
相關問題