2012-03-12 95 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