Django - 自定义管理员操作

时间:2012-03-12 21:54:06

标签: django admin

我有模特

class Book(models.Model):
    ...
    accepted = models.BooleanField()

和admin

class BookAdmin(admin.ModelAdmin):
    list_display = ('__unicode__', 'accepted')
    actions = ('change_accepted',)

    def change_accepted(self, request, queryset):
            queryset.update(accepted=True)

这可以从可滚动操作菜单创建自定义操作。我需要这样的东西:http://www.theotherblog.com/wp-content/uploads/2009/06/django_admin.jpg(最后一栏)。我的意思是 - 来自list_display的动作。有可能吗?

抱歉我的英文。

1 个答案:

答案 0 :(得分:1)

我认为您正在寻找通过list_display在管理类上调用方法,该方法应该在当前行中显示一个链接而不是管理操作:

class BookAdmin(admin.ModelAdmin):
    list_display = ('__unicode__', 'accepted', 'my_linK')

    def my_link(self, obj):
        return "<a href="%s">View on site</a>" % obj.get_absolute_url()