UPDATE:
Since Django 1.8, this is built in.
See this answer and the official documentation.
OLD ANSWER:
At the end I found a simple solution.
I create a new template called linked.html
that is a copy of tabular.html
and I added this code to create the link.
{% if inline_admin_form.original.pk %}
<td class="{{ field.field.name }}">
<a href="https://stackoverflow.com/admin/{{ app_label }}/{{ inline_admin_formset.opts.admin_model_path }}/{{ inline_admin_form.original.pk }}/">Full record</a>
</td>
{% endif %}
then I created a new model LinkedInline
inheriting InlineModelAdmin
#override of the InlineModelAdmin to support the link in the tabular inline
class LinkedInline(admin.options.InlineModelAdmin):
template = "admin/linked.html"
admin_model_path = None
def __init__(self, *args):
super(LinkedInline, self).__init__(*args)
if self.admin_model_path is None:
self.admin_model_path = self.model.__name__.lower()
Then when I define a new inline, I have only to use my LinkedInline
instead of the normal InlineModelAdmin
.
I hope it can be useful for other people.
Giovanni