![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png) foxfirefey
foxfirefeyThis was something I found out how to do recently and got inspired to share!  It's about how to add a link that's not a built in one (like the link to edit the model) to the list view in the admin.  This can be useful in some cases.
First, in your model definition, add a function that returns the link that you want.
Adding the allow_tags attribute to this function lets the admin know it can display the raw HTML. The short_description attribute is optional and lets you specify what you want the column's title to be; if you don't have it, it'll be the function's name with underscores replaced by spaces.
Then, you can add it to the list display:
Tada! You now have a link in your admin's list display.
First, in your model definition, add a function that returns the link that you want.
def external_link(self):
        """Returns a link for display in the admin table."""
        if self.article_link:
            return u'Link' % self.article_link
        else:
            return None
    external_link.allow_tags = True 
    external_link.short_description = "Link"Adding the allow_tags attribute to this function lets the admin know it can display the raw HTML. The short_description attribute is optional and lets you specify what you want the column's title to be; if you don't have it, it'll be the function's name with underscores replaced by spaces.
Then, you can add it to the list display:
class NewsItemAdmin(admin.ModelAdmin):
    list_display =  ('title', 'date_published', 'external_link')Tada! You now have a link in your admin's list display.
![[community profile]](https://www.dreamwidth.org/img/silk/identity/community.png)