2012-03-19 60 views
0

有沒有可能在Django Admin中獲取對象刪除網址,在更改列表中模板(change_list_results.html)?我必須在結果列表中添加圖標(編輯/刪除)並嘗試獲取該對象的鏈接。Django admin - 如何在更改列表中獲取對象刪除鏈接?

info = obj._meta.app_label, obj._meta.module_name 
reverse('admin:%s_%s_delete' % info, args=(obj.id,)) 

所以,只需添加一個方法,你ModelAdmin返回該URL包裹在相應的HTML:

+0

閱讀['ModelAdmin.list_display'](https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_display)上的文檔,也[類似問題](http://stackoverflow.com/questions/1413830/change-list-link-to-foreign-key-change-page)已經多次回答。 – 2012-03-19 13:32:10

+0

但我在全新的admin管理自定義change_list_results.html temaplate中不僅需要1個模型。 – tunarob 2012-03-19 13:38:31

回答

1

特定實例的刪除鏈接可以通過以下方式獲得

def delete_link(self, obj): 
    info = obj._meta.app_label, obj._meta.module_name 
    url = reverse('admin:%s_%s_delete' % info, args=(obj.id,)) 
    return '<a href="%s">Delete</a>' % url 
delete_link.allow_tags = True 
delete_link.short_description = 'Delete' 

而且,然後將其添加到list_display,就像您模型上的任何其他字段。  

相關問題