Django的管理。链接以编辑list_display中的用户配置文件

时间:2011-10-25 08:53:18

标签: python django django-admin

我将“creator”方法插入到我的模型中:

def creator(self):
        return self.user

然后我将此行添加到此模型的Admin-class ^

list_display = ('title','created_at','votes','creator')

并且有很好的...用户名显示在该列上,但我想从这些名称创建链接,这些链接将转发我以编辑该用户配置文件。 我怎样才能做到这一点? 非常感谢!

3 个答案:

答案 0 :(得分:4)

首先,将'user_link'添加到list_display。 然后,将其添加到您的ModelAdmin:

def user_link(self, obj):
        return '<a href="%s">%s</a>' % (
            urlresolvers.reverse('admin:auth_user_change', args=(obj.user.id,)), obj.user
            )
user_link.allow_tags = True
user_link.short_description = 'User'

(未测试的)

答案 1 :(得分:0)

有一个更好的选择:raw_id_fields

@admin.register(Ticket)
class AdminTicket(admin.ModelAdmin):
    fields = ['user', 'subject', 'message']
    raw_id_fields = ['user']

以下是这样的:

enter image description here

答案 2 :(得分:0)

在Django 2.0中,您不能再使用allow_tags = True。相反,您需要通过返回mark_safe("<a href="...">...</a>)将字符串标记为安全。