2012-03-12 146 views
0

我有模型Django的 - 自定义的管理动作

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

和管理

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的动作。可能吗?

对不起,我的英语。

+0

究竟你在这最后想要什么柱?链接到某个东西,或一个实际的表单按钮? – 2012-03-12 22:34:28

回答

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() 
+0

我需要更改'accepted'字段的内容 - 从False变为True。 – 2012-03-12 23:21:02

+1

@sigo [list_editable](https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_editable)或许? – 2012-03-13 00:08:27

+0

@rebus,我认为这会链接'接受',但你的解决方案也很棒。谢谢。 – 2012-03-13 08:19:16