2011-03-07 164 views

回答

4

我不明白你的例子(group1,group2),但你當然可以使用任何功能作爲更改列表視圖中的列,這意味着你可以做你想要展示的東西!

實施例:

class MyModelAdmin(admin.ModelAdmin): 
    list_display = ('foo', 'bar') 

    def foo(self): 
     return "This column is Foo" 

    def bar(self, obj): 
     try: 
      return obj.m2m.latest('id') 
     except obj.DoesNotExist: 
      return "n/a" 


    # there's a few more things you can do to customize this output 
    def bar(self, obj): 
     return '<span style="color:red;">By the way, I am red.</span>' 

    bar.short_description = "My New Column Label" 
    bar.allow_tags = True 
4

獎金:顯示組作爲用戶濾波器:

class SBUserAdmin(UserAdmin): 
    list_filter = UserAdmin.list_filter + ('groups__name',) 
    list_display = ('username','custom_group',) 

    def custom_group(self, obj): 
     """ 
     get group, separate by comma, and display empty string if user has no group 
     """ 
     return ','.join([g.name for g in obj.groups.all()]) if obj.groups.count() else '' 

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