2012-03-19 29 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,就像您模型上的任何其他字段。  

相关问题