Mohammad Rezaei
Mohammad Rezaei

Reputation: 38

django admin panel list_display for foreign keys

how to link foreign key into appropriate admin change form in Django admin panel list display? I can't display foreign key in Django admin panel list display however force the link to go to appropriate admin change form

Upvotes: 2

Views: 197

Answers (1)

Omid Zarinmahd
Omid Zarinmahd

Reputation: 158

from django.core.urlresolvers import reverse
from django.contrib.contenttypes.models import ContentType

    def get_order(self, obj):
        try:
            order_content_type = ContentType.objects.get_for_model(obj.order.__class__)
            order_link = reverse("admin:%s_%s_change" %
                             (order_content_type.app_label, order_content_type.model), args=(obj.order.id,))
        return '<a href="%s">%s</a>' % (order_link, obj.order.tracking_code)
        except AttributeError:
            return ''

    get_order.allow_tags = True

put this method in your admin class

Upvotes: 2

Related Questions