django管理面板list_display用于外键

时间:2017-09-04 08:35:01

标签: django python-2.7 python-3.x

如何在Django管理面板列表显示中将外键链接到适当的管理员更改表单? 我无法在Django管理面板列表显示中显示外键,但强制链接转到相应的管理员更改表单

1 个答案:

答案 0 :(得分:2)

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

将此方法放入管理类