上节讲到list_display变量,这次讲讲它的类似变量list_display_links,它的值也是个list类型,list的元素也是model的字段名。
list_display_links变量其实与list_display有一定的关联,它的作用是提供一个超链接,转到form_change页面,就是修改页面。默认情况下,就是list_display变量的第一个元素提供超链接。与list_display变量一样,list_display_links也有对用的一个方法使用,就是get_list_display_links:
-
def get_list_display_links(self, request, list_display):
-
"""
-
Return a sequence containing the fields to be displayed as links
-
on the changelist. The list_display parameter is the list of fields
-
returned by get_list_display().
-
"""
-
if self.list_display_links or not list_display:
-
return self.list_display_links
-
else:
-
# Use only the first item in list_display as link
-
return list(list_display)[:1]
在这里你可以重载函数的方式做你想做的。但记住一点,返回的list的所有元素必须在list_display值里或者是一个空的list,要不然会报错的。
值的注意的是,在实际应用中,可能你还需要另外的超链接来跳转到其他页面,而不是form_change的页面,这个时候,你就需要在前面一节讲到的自定义list_diaplay的元素的方式了,可以像下面的方式写:
-
def get_user_dept(self,obj) :
-
return 'XXX'
-
get_report_depts.allow_tags = True
-
get_report_depts.short_description = u'所属部门'
在list_display里加入get_user_dept。
第4行就不说了,这里说说第3行的意思,allow_tags=True就是解析HTML的格式,默认值是False
阅读(5976) | 评论(0) | 转发(0) |